Javascript 我应该使用什么脚本来创建平滑的锚定滚动?我试过的都不管用

Javascript 我应该使用什么脚本来创建平滑的锚定滚动?我试过的都不管用,javascript,jquery,scroll,smooth,Javascript,Jquery,Scroll,Smooth,我正在尝试将同一页面脚本中的平滑滚动锚定链接插入到我的web中,但这似乎不起作用。我试了一些,但都不管用 以下是我尝试过的一些方法: 也许我做错了什么?我将这些脚本插入到之间的部分,我对此非常陌生,对js和jQuery几乎一无所知 我的头部分也有这个脚本,在滚动的时候,它会把我的头贴到顶部,也许是它造成了麻烦 <script> $(function(){ var stickyHeaderTop = $('#headertop').offset().top;

我正在尝试将同一页面脚本中的平滑滚动锚定链接插入到我的web中,但这似乎不起作用。我试了一些,但都不管用

以下是我尝试过的一些方法:

也许我做错了什么?我将这些脚本插入到
之间的
部分,我对此非常陌生,对js和jQuery几乎一无所知

我的头部分也有这个脚本,在滚动的时候,它会把我的头贴到顶部,也许是它造成了麻烦

<script> $(function(){
        var stickyHeaderTop = $('#headertop').offset().top;

        $(window).scroll(function(){
                if( $(window).scrollTop() > stickyHeaderTop ) {
                        $('#headertop').css({position: 'fixed', top: '0px'});
                        $('#headeralias').css('display', 'block');
                } else {
                        $('#headertop').css({position: 'static', top: '0px'});
                        $('#headeralias').css('display', 'none');
                }
            });
        });
</script>
$(函数(){
var stickyHeaderTop=$('#headertop').offset().top;
$(窗口)。滚动(函数(){
如果($(窗口).scrollTop()>stickyHeaderTop){
$('#headertop').css({position:'fixed',top:'0px'});
$('#headeralias').css('display','block');
}否则{
$('#headertop').css({position:'static',top:'0px'});
$('headeralias').css('display','none');
}
});
});
链接:

<a href="#vlog"> <div class="hbutton">Vlog</div> </a>

它应该链接到的位置:

<a name="vlog" id="vlog"><div id="vlog"></div></a>


期待帮助:)

您是否也包含了滚动所需的脚本

如果没有,请将此代码与其他js代码一起添加到脚本标记中,然后尝试:

  $(document).ready(function() {
    $('a[href*=#]:not([href=#])').click(function() {
        if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
            var target = $(this.hash);
            target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
            if (target.length) {
                $('html,body').animate({
                    scrollTop: target.offset().top
                }, 1000);
                return false;
            }
        }
    });
});