2013-03-15 125 views
2

我有一些代码可以监听页面的滚动,它负责两件事情,当“页面”发生变化时执行必要的操作(这起作用),但是也会将scrollTop动画到最近“页面”,但是这样做会触发滚动事件,以便顺序抓取所有“页面”,直到它到达文档的末尾。animate scrollTop触发滚动事件

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

“页面”因为这是一个iPad的HTML页面,每个1024×768的观点是“页”

回答

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; 
}) 
+3

感谢您的归属编辑。然而,现在你的帖子确实值得评论,而不是一个答案。您确实需要在自己的答案中包含自己的信息 - 不仅仅是复制和粘贴其他人的代码 - 即使包含归属信息也是如此。 – 2013-04-23 18:37:24

+0

已经过测试,如果可以,请粘贴演示网址? – 2016-08-23 11:48:10