jQuery动画函数回调错误
jQuery animate function callback bug
我有下面的代码来滑出div:
var current = $('.s_text:visible');
current.animate({
right: 1014,
opacity:0,
},{queue: false, duration:2000}, function() {
current.hide();
});
由于某种原因,回调函数不起作用!但是如果我删除选项{queue:false, duration:2000}
并将其替换为,2000,function()....
,回调函数就会工作。
current.animate({
right: 1014,
opacity:0,
},2000, function() { // this one works...
current.hide();
});
为什么?
如果使用.animate
方法的第二个参数作为选项对象,则不能将回调作为第三个参数发送。
在您的情况下,您需要使用options对象的完整参数。
var current = $('.s_text:visible');
current.animate({
right: 1014,
opacity:0,
},{queue: false, duration:2000, complete:function() {
current.hide();
}});
该方法接收的两个可选参数集是:
.animate( properties [, duration ] [, easing ] [, complete ] )
或
.animate( properties, options )
但不能同时两者。
来源:http://api.jquery.com/animate/
因为.animate()
只有两个声明:
- .animate(属性[,持续时间][,放松][,完成])
- .animate(属性,选项)
没有供您使用,您可以在此处查看有关.animate()
的更多信息:http://api.jquery.com/animate/
动画:
.animate( properties, options )
在此处查找参考资料:http://api.jquery.com/animate/
var current = $('.s_text:visible');
current.animate(
{
right : 1014,
opacity :0
},{
queue : false,
duration:2000,
complete: function() {
current.hide();
}
});
如果你想使用options
(队列和持续时间),你不能有这样的回调函数;您应该在options
中包含回调函数(请参阅文档):
var current = $('.s_text:visible');
current.animate({
right: 1014,
opacity:0
},{
queue: false,
duration:2000,
complete: function() {
current.hide();
}
);
相关文章:
- 测试Angular Service解决错误回调中的promise
- $http服务未触发成功或错误回调
- jQuery AJAX错误回调未运行
- JavaScriptajax请求servlet调用错误回调函数
- 为什么 AJAX 完成和错误回调都触发了
- Cordova Android短信插件不会触发成功或错误回调
- 无法识别错误回调
- 在第一次错误回调时退出承诺链
- 如何获取 Ember 组件对象内部承诺成功或错误回调
- 在 Node.js 中传播错误回调,并避免所有额外的麻烦
- 在 HTTP 错误回调中访问“this”
- 在 AngularJS 中声明一个承诺,并带有命名的成功/错误回调
- 谷歌浏览器中的地理位置错误回调
- PhoneGap 3.0.0 Tanelih 蓝牙插件在 Android 上已启用错误回调不起作用
- $http错误回调不能与 httpProvider responseInterceptor 结合使用
- JayData 上的默认错误回调
- 错误回调中的错误:TestPlugin2 = 引用错误:找不到变量:在 file:///android_asset/ww
- 主干.js:保存方法始终返回错误回调
- AJAX 中的成功或错误回调不起作用
- Backbone.js:奇怪的.save()错误回调