2014-09-25 54 views
1

我在按鈕單擊上使用window.scrollTo();方法。但是,當我點擊按鈕時,它只是跳到了這個位置。我希望它能將物體滾動顯示到窗口的位置。我怎樣才能做到這一點?使window.scrollTo()物理滾動到某個點

+1

每秒執行'.scrollTo' 60次並計算它在't'時刻的位置。 – 2014-09-25 19:41:27

+0

@Derek朕會功夫不確定你的意思,你能否詳細說明一下? – Harry 2014-09-25 19:45:25

+0

創建一個線性函數,其中水平軸爲t(時間),垂直軸爲y(scrollTop)。重複將scrollTop更改爲相應的y值,直到達到預期的scrollTop。這涉及到一些數學問題,如果你還想添加[緩和餘弦/正弦](http://easings.net/en),它會變得更加混亂。如果你更喜歡jQuery,下面是jQuery處理所有這些數學的例子:http://jsfiddle.net/DerekL/ewpx30av/ – 2014-09-25 19:52:34

回答

1

Jquery是最好的答案。它使它非常簡單

$('html, body').animate({ 
    scrollTop: $(".the_div_you_want_to_got_to").offset().top 
}, 1750); 

如果您以前沒有使用過Jquery,那麼它是一個javascript擴展。您需要將其包含在您的文檔頭部

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
+0

謝謝,我之前使用過jQuery! – Harry 2014-09-26 16:27:48