2

我已经在这几个小时了,我根本无法弄清楚。

基本上,我有一长串在页面下方填充的项目。当用户单击其中一项时,我想将窗口滚动回将加载内容的最顶部(我知道这可能是糟糕的设计,但这是一个单独的问题)。

这是我的脚本的样子:

<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 正在正确加载,但是当我拨打电话时,它什么也不做。

任何帮助将不胜感激。

4

2 回答 2

8

jQuery 没有scrollTo方法。但是您可以对对象使用.scrollTop()帮助

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

更新

如果你只想让一个元素滚动到视图中,你可以使用原生 DOM 方法:

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

甚至

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

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

更新 2

jQueryscrollTop也可以用于.animate().

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

例如:

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

于 2011-02-04T07:04:26.730 回答
0

你可以使用.scrollTop()

于 2011-02-04T07:09:21.460 回答