有原因的fancybox功能的fancybox加载动画不会触发
$.fancybox.showActivity();
在我的脚本抛出一个错误什么特别的原因?是否有需要调用函数的特定顺序?该功能用于在内容加载到弹出窗口之前显示加载图像。这里是我的代码:
$(".info_button").click(function() {
var pictid_browse = $(this).parent().find('#pictid').val();
$.fancybox.showActivity();
$.ajax({
url: "ajax.html",
type: "POST",
async:false,
data: ({f:"get_info",pictid:pictid_browse}),
success: function(data){
$.fancybox({
'autoDimensions' : false,
'width' : 950,
'height' : 'auto',
'transitionIn' : 'none',
'transitionOut' : 'none'
});
$.fancybox({content:data,'autoDimensions':true,'scrolling':'no',});
}
});
return false;
});
我得到的错误是:
Uncaught TypeError: Object function() {
F.open.apply(this, arguments);
} has no method 'showActivity'
或
TypeError: 'undefined' is not a function (evaluating '$.fancybox.showActivity()')
的fancybox版本:2.1.3
UPDATE:
我不知道是怎么回事,但如果我放在
$.fancybox.showLoading();
的
$(".info_button").click(function() {
之外,那么它触发并显示动画。但我需要它,一旦一类“.info_button”我点击
似乎下面的解决方案并没有解决问题的项目发生或者:
$(".info_button").bind('click', function (e) {
e.stopPropagation(); e.preventDefault();
}
研究表明,负载被触发,如果下面的代码被删除:
$.fancybox({
content:data,
'autoDimensions' : true,
'width' : 'auto',
'height' : 'auto',
'transitionIn' : 'none',
'transitionOut' : 'none',
'scrolling':'no'
});
这可能意味着,包括AJAX功能内时的fancybox不正常工作,但是为什么,我不知道
更新我的回答,请它,如果你更新你的问题发表评论。 – p1100i
你现在是否看到任何类型的错误?也许尝试注释掉.click函数中的所有内容,只留下'$ .fancybox.showLoading();'行。怎么了? – p1100i
但是,如果您查看Firebugs控制台(https://getfirebug.com/),是否看到任何错误消息(没有评论所有内容)?这可能是因为'data'不适合fancybox而且它出错了。或者如果你运行这个本地ajax调用将立即完成,所以你不能期望看到加载图像。我帮你解决了核心问题,而且这个网站不适合辅导某人。 – p1100i