Jquery 如何使用window.location.hash添加偏移量
我使用这个函数Jquery 如何使用window.location.hash添加偏移量,jquery,html,hash,Jquery,Html,Hash,我使用这个函数 window.location.hash = "Home" 我想做的是,当锚点指向id为Home的div时,我希望它的顶部位置比div实际开始的位置高一点 有人能帮我添加一个偏移量吗?例如,在div开始的地方添加20px 谢谢你可以试试offsetTop 一个简单的例子: $(document).ready(function(){ $('a[href^="#"]').bind('click.smoothscroll',function (e) { e.p
window.location.hash = "Home"
我想做的是,当锚点指向id为Home的div时,我希望它的顶部位置比div实际开始的位置高一点
有人能帮我添加一个偏移量吗?例如,在div开始的地方添加20px
谢谢你可以试试offsetTop
一个简单的例子:
$(document).ready(function(){
$('a[href^="#"]').bind('click.smoothscroll',function (e) {
e.preventDefault();
var target = this.hash,
$target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top-40
}, 900, 'swing', function () {
window.location.hash = target;
});
});
});
注意$target.offset().top-40
这意味着它将重定向到具有页边距顶部:-40px
的div
window.location.hash和
position之间的关系是什么?你不能给DIV添加一些填充吗?使用window.location.hash函数,我可以用jquery跳转到id为Home的DIV,但是我想要的是,我跳转到div,浏览器的上边框和div之间有一个间隙。我不能使用填充,因为我制作了一个单页设计模板。也许你也可以将它绑定到onhashchange事件,这取决于OP正在寻找什么。总之,+1我只是展示一个非常基本的例子。我们看不到OP的全部代码,所以这个基本的例子应该足够了。是的,我完全同意我使用的正是演示,但我也使用的是,如果我只是向下滚动,如何更改锚?你是什么意思?你能发布你的全部代码吗?