jquery - 轻松滚动到 anchor

标签 jquery jquery-animate bind scrolltop

我正在尝试使用 jquery 在单击链接时轻松滚动到 anchor 。但我不希望它一直滚动到顶部。它必须停止在距离顶部至少 90 像素的地方,这样锚定的 div 就不会位于我的固定标题菜单栏(90 像素高)后面。有什么想法吗?

$(function() {
    $('a').bind('click',function(event){
        var $anchor = $(this);

        $('html, body').stop().animate({
            scrollTop:  $($anchor.attr('href')).offset().top
        }, 1500,'easeInOutExpo');

        event.preventDefault();
    );
});

最佳答案

您是否尝试过将顶部位置减去 90 像素,如下所示:

scrollTop: ($($anchor.attr('href')).offset().top - 90)

如果有效,您可以动态获取标题菜单栏的高度:

scrollTop: ($($anchor.attr('href')).offset().top - $('menubar').outerHeight()))

关于jquery - 轻松滚动到 anchor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12664355/

相关文章:

jquery - Coda slider 在第 12 个幻灯片项目后崩溃

javascript - JQuery 动画 margin-top 使用 var 不工作

linux - 如何设置 BIND DNS 以从另一台服务器检索所有非权威查询

java - 表绑定(bind)后, float 在 GUI 中被截断

javascript - 页面加载时执行 JQuery 函数,而不是在 .keyup 上执行

javascript - 当我尝试将 JSON 编码数组发送到 jquery 时,发生 500 内部服务器错误

jQuery 如何为我的代码添加动画?

java - PHP 获取数据或与正在运行的 Java 进程交互。 (我认为与 PHP/Java 桥不同)

jquery - 如果选择了另一个单选按钮,则取消选择单选按钮

JavaScript 错误 “is not a function”