我有以下代码:
$logo.css({
top : '800px'
}).animate({
top : '200px'
}, 2000, function() {
$text.animate({
height : '800px'
}, 2000, function() {
console.log("this fires twice in firefox, and sometimes in chrome too");
});
console.log("this fires twice in firefox, and sometimes in chrome too");
});
在IE中 - 它一直触发两次回调函数,就像我想要的那样。
在Firefox中 - 它一直两次触发两个回调函数。
在Chrome中 - 它有时会触发一次,有时两次。
问题 - 如何修复它以便只调用一次回调函数?
答案 0 :(得分:2)
在每个.stop(true)
.animate()
如果这样做无效,请改为使用.stop(true,true)
。
$logo.css({
top : '800px'
}).stop(true).animate({
top : '200px'
}, 2000, function() {
$text.stop(true).animate({
height : '800px'
}, 2000, function() {
console.log("this fires twice in firefox, and sometimes in chrome too");
});
console.log("this fires twice in firefox, and sometimes in chrome too");
});