我已经研究了几个小时了,但我根本无法弄清楚。
基本上,我有一个很长的项目列表,这些项目会填充到页面的下方。当用户单击其中一个项目时,我想将窗口滚动回到将加载内容的最顶部(我知道,这可以说是糟糕的设计,但这是一个单独的问题)。
这是我的脚本的样子:
<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 已正确加载,但当我进行调用时,它根本不执行任何操作。
任何帮助将不胜感激。
最佳答案
jQuery 没有 scrollTo
方法。但你可以使用.scrollTop()
help在一个物体上。
$('#pagetop').scrollTop(800);
更新
如果你只是想让一个元素滚动到 View 中,你可以使用原生 DOM 方法:
$('#pagetop')[0].scrollIntoView();
甚至
document.getElementById('pagetop').scrollIntoView();
演示:http://www.jsfiddle.net/UHhDT/
更新2
jQuerys scrollTop
也可以在 .animate()
中使用。
$(document.body).animate({scrollTop: $('#pagetop').offset().top}, 2000);
例如:
关于jQuery的scrollTo插件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4895373/