2011-02-04 116 views
2

我已經在這裏好幾個小時了,我根本搞不明白。jQuery scrollTo插件不起作用

基本上,我有一個長長的項目列表,填充到頁面中。當用戶點擊其中一個項目時,我想將窗口滾動回內容將被加載的頂部(可以說是糟糕的設計,我知道,但這是一個單獨的問題)。

下面列舉一下我的劇本是這樣的:

<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js'></script> 
<script type='text/javascript' src='scripts/jquery.jgrowl.js'></script> 
<script type='text/javascript' src='scripts/javascript.js'></script> 
<script type='text/javascript' src='scripts/supersized.js'></script> 
<script type='text/javascript' src='scripts/effects.core.js'></script> 
<script type='text/javascript' src='scripts/jquery.scrollTo-1.4.2-min.js'></script> 
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.js'></script> 

這裏是我的網頁頂部的HTML:

<div id='header'> 
<div id='pagetop'></div> 
</div> 

這是失敗的呼叫:

$.scrollTo('#pagetop',800) 

當我嘗試運行這一行時,它不會產生錯誤消息,所以我知道scrollTo被正確加載,但是whe ñ我撥打電話,它什麼也不做。

任何幫助將不勝感激。

+0

你有一個鏈接的網頁或更多頁面內容,以幫助解決這個問題? – 2011-02-04 07:05:01

+0

你有什麼錯誤嗎 – 2011-02-04 07:06:07

回答

8

jQuery沒有scrollTo方法。但是您可以在對象上使用.scrollTop()help

$('#pagetop').scrollTop(800); 

更新

如果你只是想一個元素滾動到視圖,您可以使用本機DOM方法:

$('#pagetop')[0].scrollIntoView(); 

甚至

document.getElementById('pagetop').scrollIntoView(); 

演示:​​

更新2

jQuerys scrollTop也可以在.animate()使用。

$(document.body).animate({scrollTop: $('#pagetop').offset().top}, 2000); 

例如:

演示http://www.jsfiddle.net/UHhDT/1/