我想让浏览器将页面滚动到给定的锚点,只需使用JavaScript即可。
我在HTML代码中指定了name
或id
属性:
<a name="anchorName">..</a>
或
<h1 id="anchorName2">..</h1>
我希望获得与您导航到http://server.com/path#anchorName
相同的效果。应该滚动页面,使锚点位于页面可见部分的顶部附近。
发布于 2010-07-02 14:25:25
function scrollTo(hash) {
location.hash = "#" + hash;
}
根本不需要jQuery!
发布于 2010-07-03 09:24:25
更简单的方法:
var element_to_scroll_to = document.getElementById('anchorName2');
// Or:
var element_to_scroll_to = document.querySelectorAll('.my-element-class')[0];
// Or:
var element_to_scroll_to = $('.my-element-class')[0];
// Basically `element_to_scroll_to` just have to be a reference
// to any DOM element present on the page
// Then:
element_to_scroll_to.scrollIntoView();
发布于 2010-07-02 14:22:21
您可以使用jQuery的.animate()、.offset()和scrollTop
。喜欢
$(document.body).animate({
'scrollTop': $('#anchorName2').offset().top
}, 2000);
链接示例:http://jsbin.com/unasi3/edit
如果不想设置动画,请使用.scrollTop(),如下所示:
$(document.body).scrollTop($('#anchorName2').offset().top);
或者JavaScript的原生location.hash
,比如:
location.hash = '#' + anchorid;
https://stackoverflow.com/questions/3163615
复制相似问题