2012-10-27 120 views
15

當我打電話給$("body").animate({scrollTop: someValue});我想$(window).scroll(function() { });也被調用。我怎樣才能做到這一點?

我試過$(window).trigger("scroll")$(window).triggerHandler("scroll")沒有成功。

The code

編輯: 問題解決了。我的$(window).scroll(function() { });中有一個if導致了問題。

+0

什麼是動畫類型?那麼如果你在使用'easeIn'這樣的引號內使用animationType呢? – 2619

+0

@ al0neevenings這不是問題。正文部分滾動,但'$(window).scrollU();'不會被調用。 – Sawny

+1

你還可以發佈綁定到'scroll'的方法嗎? –

回答

7

它同時適用於bodyhtml,因爲它是不相符的。(例如,FF採用html滾動,而鍍鉻使用body)在http://jsfiddle.net/vzyVh/

$("html, body").animate({scrollTop: someValue}); 

演示

+0

1)不解決我的問題。 2)然後回調被調用兩次。 – Sawny

+0

@sawny,只有當你特別讓你的CSS同時允許'html'和'body'滾動。默認情況下只有其中一個滾動條.. 此外:應用於'window'的'scroll'方法不會只調用一次。它被稱爲每個滾動步驟.. –

+1

混合此答案與http://stackoverflow.com/a/12792245/1504300優雅滾動到底部。 – reallynice

1

你可以試試下面的代碼 - 我在這裏滾動到具有ID 「一個」 我的div標籤上。

$('html,body').animate({ scrollTop: $('#one').offset().top }, 'slow'); 
相關問題