javascript - 由于我使用的是固定标题,如何才能停止在 div 之前平滑滚动 80px

标签 javascript jquery html scroll smoothing

我正在使用滚动到 div 功能的脚本。现在我将标题固定在顶部,因为我希望它具有粘性。但现在当我单击 div 链接时,它会转到标题下方,因为标题是固定的。我可以在实际 div 之前停止滚动 80px 吗?

这是我正在使用的代码。

    <script>
    $(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;
                }
            }
        });
    });
</script>
<script src="js/scroll-startstop.events.jquery.js" type="text/javascript"></script>
<script>
    $(function() {
        var $elem = $('#content');

        $('#nav_up').fadeIn('slow');
        $('#nav_down').fadeIn('slow');  

        $(window).bind('scrollstart', function(){
            $('#nav_up,#nav_down').stop().animate({'opacity':'0.2'});
        });
        $(window).bind('scrollstop', function(){
            $('#nav_up,#nav_down').stop().animate({'opacity':'1'});
        });

        $('#nav_down').click(
            function (e) {
                $('html, body').animate({scrollTop: $elem.height()}, 800);
            }
            );
        $('#nav_up').click(
            function (e) {
                $('html, body').animate({scrollTop: '0px'}, 800);
            }
            );
    });
</script>

最佳答案

您可以从滚动 div 的顶部偏移量减去标题高度

$('html,body').animate({
    scrollTop: target.offset().top - 80
}, 1000);

关于javascript - 由于我使用的是固定标题,如何才能停止在 div 之前平滑滚动 80px,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30451449/

相关文章:

javascript - Jquery 设置不同的输入文本和值

javascript - 解码 Base64 字符串

javascript - 如何在 Bootstrap 日期选择器中添加 maxdate

javascript - jquery 每个函数都没有按预期工作

javascript - 单击其他按钮时隐藏一个表单(两个按钮,两个表单)(PHP/HTML/Javascript)

javascript - ReactJS 通过 onClick 函数传递 key

javascript - Promise 返回一个函数而不是一个对象

javascript - 键盘驱动的 Web UI

javascript - 使页面部分填充浏览器高度

html - CSS:边框颜色:继承