Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.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
Javascript 使用锚定标记在div上滚动Jquery无法正常工作_Javascript_Jquery_Html_Css_Webpage - Fatal编程技术网

Javascript 使用锚定标记在div上滚动Jquery无法正常工作

Javascript 使用锚定标记在div上滚动Jquery无法正常工作,javascript,jquery,html,css,webpage,Javascript,Jquery,Html,Css,Webpage,我添加了一个jQuery代码,使用锚定标记在不同的div上滚动,滚动可以工作,但是当它到达目标div时,它会滚动回页面顶部。这是我写的代码 $('a[href^="#"]').click(function(e) { e.preventDefault(); var target = this.hash; var $target = $(target); $('html, body').animate({

我添加了一个jQuery代码,使用锚定标记在不同的div上滚动,滚动可以工作,但是当它到达目标div时,它会滚动回页面顶部。这是我写的代码

$('a[href^="#"]').click(function(e) {
            e.preventDefault();
            var target = this.hash;
            var $target = $(target);
            $('html, body').animate({
                'scrollTop': $target.offset().top - 160
            }, 1000).stop();
        });
有什么建议吗?

您可以这样做:

$(document).ready(function(){
    $("a").on('click', function(event) {
        if (this.hash !== "") {
            event.preventDefault();
            var hash = this.hash;
            $('html, body').animate({
                scrollTop: $(hash).offset().top
            }, 800, function(){
                window.location.hash = hash;
            });
        }
    });
});