在jquery .animate()时运行操作

时间:2014-04-28 16:15:20

标签: javascript jquery html

我有一小段代码可以让浏览器滚动到顶部:

$('html, body').animate({scrollTop: 0}, 500, "easeOutQuart");

我希望在此代码运行时禁用用户滚动,并在动画结束时再次启用它。你会怎么做?最好的方法是什么?

2 个答案:

答案 0 :(得分:0)

在动画调用之前禁用它,并在animate的回调选项中启用它:

//Disable here

$('html, body').animate({scrollTop: 0}, 500, "easeOutQuart", function() {
    //enable here
});

答案 1 :(得分:0)

您可以隐藏滚动条一段时间,然后再次启用

 var htmlBody = $('html, body');
 htmlBody.css("overflow","hidden")
         .animate({
             scrollTop: 0
          }, 500, "easeOutQuart",function(){
                htmlBody.css("overflow","auto");
          });

选中此FIDDLE