此滚动动画会触发整个处理程序两次..
$('html,body').stop().animate({
scrollTop : 100
}, {
duration : 600,
complete : function(){
console.log('scroll complete');
}
});
如果您在选择器中移除html
或body
,滚动动画将失去其跨浏览器支持...
答案 0 :(得分:2)
在两个元素上触发动画,触发两个元素的完整处理程序。
您可以使用承诺来避免它
$('html,body').stop()
.animate({scrollTop : 100}, 600)
.promise()
.done(function() {
console.log('scroll complete');
});