2011-02-04 92 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/