javascript - 如何使用带词缀的 css bootstrap list-group 在列中创建粘性菜单?

标签 javascript jquery css twitter-bootstrap twitter-bootstrap-3

我正在尝试使用 CSS Bootstrap 创建一个粘性菜单 affixlist-group 菜单。

除了用户向下滚动时,我设法让它的大部分工作。

当用户向下滚动时,菜单似乎占据了整个页面。

我试图通过数据属性来设置它

使用这样的东西

<div class="container">
    <div class="row">
        <div class="col-md-3" id="leftCol">

            <div data-spy="affix">

                <div class="list-group list-group-root well">
                    <a class="list-group-item" href="#introduction">Introduction</a>
                    <a class="list-group-item" href="#features">Features</a>
                    <a class="list-group-item" href="#dependencies">Dependencies</a>
                </div>

            </div>

        </div>
        <div class="col-md-9" id="mainCol">

            Some long text for the body along with some tables.

        </div>
    </div>
</div>

但是data属性并没有让菜单粘起来!它只是保持在顶部。

所以我尝试使用JS来完成这样的工作

$(function(){

    $('#leftCol').affix({
      offset: {
        top: 100,
        bottom: function () {
          return (this.bottom = $('.footer').outerHeight(true))
        }
      }
    });


});

我创建了 jsFiddle向您展示当前的行为。

如何修复此affix,以便当用户向下滚动菜单时保持相同的形状?

最佳答案

首先,您应该使用数据属性或 JS。

我更新了你的 jsFiddle . id="leftCol"的位置发生了变化:

<div class="col-md-3" >

        <div id="leftCol">

              ...

        </div>

    </div>

并添加了样式:

#leftCol {
   width: 220px;
}

此外,您应该添加媒体查询以从移动 View 中删除词缀。

关于javascript - 如何使用带词缀的 css bootstrap list-group 在列中创建粘性菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41372179/

相关文章:

javascript - 变量值发生变化(根据alert())但被插件代码忽略?

jquery - 如何触发悬停并为 div 设置动画

javascript - 如果不将 div 移出其容器,它怎么能位于其他所有东西之上?

css - 两个div,一个固定宽度,另一个,其余

javascript - FillStyle 查询还是其他什么?

javascript - 使用 Jquery 从仅包含类名的文章中获取第一个子 ID

javascript - 扫描具有相同命名的所有数据属性并插入值 - jQuery

javascript - 创建一个 "popup" View 以覆盖 Collection View

html - 边框为 :0; without js 的图像的边框 1px

javascript - 在传送带上的幻灯片之间插入边距/填充