2013-03-15 127 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