Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何使用window.location.hash添加偏移量_Jquery_Html_Hash - Fatal编程技术网

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的全部代码,所以这个基本的例子应该足够了。是的,我完全同意我使用的正是演示,但我也使用的是,如果我只是向下滚动,如何更改锚?你是什么意思?你能发布你的全部代码吗?