我正在使用jQuery函数scrollTop,所以当点击具有某个类的元素时,您的位置会发生变化。这就是我所做的:
$(document).ready(function (){
$(".paginacion").click(function() {
$(document).scrollTop( $("#galeria").offset().top );
});
});
我正在浏览位于页面中间的分页菜单,我想在使用该实用程序时返回该菜单(单击具有分页类的任何元素)。
当我点击任何这些元素时,页面会向下滚动一会儿,然后向上滚动。
怎么了?
答案 0 :(得分:1)
<a>
标记具有默认的href
锚定,它会跳转到目标ID并更改URL哈希/片段。就像@Khanh TO在评论中的例子一样。
但是如果你真的想用jQuery来处理它。一个好的解决方案是首先使用preventDefault()
取消单击事件的默认执行。然后在设置scrollTop时切换到'window'
而不是'document'
。两者都会产生相同的效果,但所有浏览器都支持$(window).scrollTop(value)
。
$(".paginacion").click(function(e) {
e.preventDefault();
$(window).scrollTop( $("#galeria").offset().top );
});
如果您还希望animate
滚动,则只需将$(window).scrollTop()
替换为:
$('html, body').animate({scrollTop: $("#galeria").offset().top});
FireFox和IE将溢出放在html级别,因此为了让animate(scrollTop)
能够使用跨浏览器,我们需要包含'html'
。
请参阅此jsfiddle。