javascript - 固定标题和 Bootstrap Affix/Scrollspy 问题 - 未跳转到正确位置

标签 javascript jquery html css twitter-bootstrap

我在尝试获取内容位置以在子导航旁边跳转时遇到问题:

这是一个演示 http://jsfiddle.net/52VtD/2661/

正如您所看到的,当您单击链接时,由于固定标题,它并不位于导航旁边。内容超出了标题。

<script type="text/javascript">
    $(document).ready(function(){
        $("#myNav").affix({
            offset: { 
                top: 125 
            }
        });
    });
</script>

有什么想法吗?

干杯

最佳答案

我对你的问题投了赞成票,因为我正在努力解决这个问题......

$(window).on('click.bs.affix.data-api',

这是我们点击词缀导航栏时发生的事件。

这不太可能是手动制作词缀的方法,我希望在开发方面比我更好的人可以帮助你......:

Bootstrap : http://jsfiddle.net/52VtD/2662/

JS:

$(window).on('click.bs.affix.data-api', function(){

    setTimeout( function(){
        $target = $("#myNav li.active a").attr('href'); 
        $target = $( $target );
        //alert($target);
        $top = $target.offset().top - $('.page-header').height();

        window.scrollTo( 0 , $top);
        e.stopPropagtion();

    }, 10);

});

设置超时,因为 affix 在...之前完成他的工作

评论后更新:

Bootply: http://jsfiddle.net/52VtD/2663/

摘录:

setTimeout( function(){
    $target = $("#myNav li.active a").attr('href'); 
    $target = $( $target );
    //alert($target);
    $top = $target.offset().top - $('.page-header').height();

    window.scrollTo( 0 , $top);
    e.stopPropagtion();
    $("#myNav li.active a").removeClass('active');  //  <--- HERE
}, 10);

关于javascript - 固定标题和 Bootstrap Affix/Scrollspy 问题 - 未跳转到正确位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21701360/

相关文章:

javascript - 如何在 Typescript 的 Angular 指令类中添加 Controller

javascript - 通过 Google Apps 脚本中的 API 组合 GET 和 POST 请求

javascript - 父级绝对 z-index 中的子级绝对位置

javascript - 如何根据其子项强制包装 div 保持其最佳宽度

jquery - 在另一个框架的上下文中运行 JQuery

javascript - OpenLayers.source 未定义 - 打开图层,打开街道 map

javascript - 为什么 `this`这里指的是 `o`(o.method)()而不是全局对象

javascript - 更新每 5 个 td

javascript - jQuery 错误 - 无法在初始化之前调用选项卡上的方法

javascript - 从 javascript 引用时,内联 CSS 不起作用