滚动动画触发完成处理程序两次

scroll animation trigger complete handler twice

这个滚动动画触发了两次完整的处理程序..

$('html,body').stop().animate({
    scrollTop : 100
}, {
    duration : 600,
    complete : function(){
        console.log('scroll complete');
    }
});

如果您在选择器中删除 htmlbody,滚动动画将失去其跨浏览器支持...

动画在两个元素上触发,触发两个元素的完整处理程序。

你可以使用 promise 来避免它

$('html,body').stop()
              .animate({scrollTop : 100}, 600)
              .promise()
              .done(function() {
                  console.log('scroll complete');
              });