我想让浏览器将页面滚动到给定的锚点,只需使用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
复制相似问题