animate scrollTop触发滚动事件

时间:2013-03-15 14:46:55

标签: javascript jquery html events

我有一些代码可以监听页面的滚动,并且它负责两件事情,在“页面”发生变化时执行必要的操作(可以工作),还可以将scrollTop设置为最近的“页面”,但是这样做会触发scroll事件,因此它会顺序遍历所有“页面”,直到它到达文档的末尾。

如何停止动画scrollTop触发滚动事件?它甚至可能吗?

“pages”因为这是一个iPad html页面,每个1024x768视图都是“页面”

1 个答案:

答案 0 :(得分:1)

您可以在这篇文章中找到答案:https://stackoverflow.com/a/1659231/237838

  

您可以编写自己的代码来设置动画值,然后进行设置   一个标志,表示更改来自动画。

     

例如:(未经测试)

var scrollAnimating = false
jQuery.fx.step.scrollTop = function(E) {
    scrollAnimating = true;
    E.elem.scrollTop = E.now;
    scrollAnimating = false;
};

$('#gototop').click(function() {
    $('body').animate({scrollTop:0},3000);
    $(window).scroll(function () {
        if (!scrollAnimating)
            $('body').stop();
    });
    return false;
})