[英]jQuery animation triggers callback twice when run
我正在使用jQuery動畫滾動效果,在動畫結束后,我觸發效果,由於某種原因,效果被觸發兩次,我該如何防止它發生?
$('.something').on('click', function() {
$('html, body').animate({
scrollTop: $('footer').offset().top
}, {
queue: false,
duration: 1500,
complete: function() {
$('.foo').toggleClass('active');
$('.bar').slideToggle();
}
});
return false;
});
slideToggle效果似乎被觸發了兩次。 我在html和body上設置了動畫,因為來自'body'的動畫在IE8中不起作用。
由於您正在觸發兩個動畫(在html和body上),因此應該調用兩次完整的回調。
您可能希望僅在需要時才在html上觸發動畫
var animateOn = isIE8 ? 'html' : 'body';
$(animateOn).animate();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.