我正在用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中不起作用。
发布于 2013-02-04 11:47:20
由于您触发了两个动画(在html和body上),完整的回调应该被调用两次。
您可能希望仅在必要时才在html上触发动画
var animateOn = isIE8 ? 'html' : 'body';
$(animateOn).animate();https://stackoverflow.com/questions/14680038
复制相似问题