Bootstrap 3 - 带侧边栏的 Scrollspy

2024-01-07

我正在使用 Bootstrap 3。我想重新创建与侧边栏相同的功能Bootstrap 站点上的文档 http://getbootstrap.com/javascript/.

下面是我的代码,它也在这里:http://bootply.com/82119 http://bootply.com/82119

两个问题。

  1. 当您向下滚动页面经过每个部分时,侧边栏项目不会突出显示。
  2. 当您点击侧边栏项目时,它会跳转到相关锚点,但一半内容不可见。改变data-offset值似乎没有影响。

我究竟做错了什么?

<div class="container">
    <div class="row">
        <div class="col-md-3">
            <div class="list-group navbar" id="sidebar">
                <ul class="nav" id="mynav">
                    <li><a href="#c1" class="list-group-item">
                          Content 1
                        </a>
                    </li>
                    <li> <a href="#c2" class="list-group-item" contenteditable="false">Content 2
                        </a>
                    </li>
                    <li> <a href="#c3" class="list-group-item" contenteditable="false">Content 3
                        </a>
                    </li>
                    <li> <a href="#c4" class="list-group-item" contenteditable="false">Content 4
                        </a>
                    </li>
                    <li> <a href="#c5" class="list-group-item" contenteditable="false">Content 5
                        </a>
                    </li>
                </ul>
            </div>
        </div>
        <div class="col-md-9" id="mycontent" data-spy="scroll" data-target="#sidebar" data-offset="0">
                <h2 id="c1" class="">Content 1</h2>
At Bootply we attempt to build simple Bootstrap templates that utilize...
            <hr class="col-md-12">
                    <h2 id="c2" class="">Content 2</h2>
Rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto...
                <hr class="col-md-12">
                    <h2 id="c3" class="">Content 3</h2>
Rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto...
                <hr class="col-md-12">
                    <h2 id="c4" class="">Content 4</h2>
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium...
                    <h2 id="c5" class="">Content 5</h2>
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium...
        </div>
    </div>
</div>

毕竟你的问题似乎并不重复。 你可以尝试这样的事情:http://bootply.com/82265 http://bootply.com/82265

当您单击子导航中的链接时,内容将隐藏在导航栏后面。我将您的内容项目包装在一个额外的 div 中。通过这样做,我可以为其添加一个填充顶部。填充使 h2 可见:

var clicked = false;
$('#mynav li a').click(
function(){
    $('#mycontent > div > h2').css('padding-top',0);
    $($( this ).attr('href') + ' > h2').css('padding-top','50px');
    clicked = true;
    }
);  

$('body').on('activate.bs.scrollspy', function () {
   if(!clicked)$('#mycontent > div > h2').css('padding-top',0);
  clicked = false;
})

我发现的问题是撤消顶部填充的方法。我无法使用滚动事件,因为添加填充后缀会触发滚动事件。撤消“activate.bs.scrollspy”似乎有效。

在 bootply 中我添加了滚动间谍$('body').scrollspy({ target: '#sidebar', offset:80 });你可以用<body data-spy="scroll" data-target="#sidebar">还。我不确定滚动间谍偏移量的正确值是多少。 70 似乎还可以。

请注意,我还有最后一个内容项的最小高度,否则您无法滚动最后 2 个项目。

我认为以上更多的是某种概念证明,而不是真正的答案。

NOTEBootstrap的文档也会有同样的问题。他们通过默认在主题之间添加额外的空白来修复此问题,请参阅:

额外的空白将添加到 docs.css 中:

h1[id] {
    margin-top: -45px;
    padding-top: 80px;
}

也可以看看:https://github.com/twbs/bootstrap/issues/10670 https://github.com/twbs/bootstrap/issues/10670

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bootstrap 3 - 带侧边栏的 Scrollspy 的相关文章

随机推荐

  • GIT 无法生成 Askpass 克隆 Git 存储库时没有此类文件或目录 [重复]

    这个问题在这里已经有答案了 我参考了很多网站来解决 VS 2017 TFS 中的 Git 存储库克隆问题 但无法修复 请帮我 以下是 Visual Studio 版本详细信息 微软 Visual Studio 专业版 2017 版本 15
  • 构建 xunit.xml 文件后应该使用 xUnitPublisher 还是 xUnitBuilder?

    我正在自动化 dot net core 构建 鉴于 Jenkins 文件中的以下代码片段 我为每个测试项目生成一个 XML 文件 在接下来的步骤中 我想处理这些 XML 文件 詹金斯给出了两个选择 我很困惑该使用哪个选项 我使用 处理 还是
  • 循环使用translate3d制作的轮播

    我有一个带有拖动选项的轮播translate3d 考虑到使用translate3d为了转到下一张幻灯片 我最终翻译到了轮播的末尾 你能帮我找到解决方案吗 下一张幻灯片逻辑 goNext this carousel style transfo
  • 如何访问隐藏在 DS.PromiseArray 中的数组数据

    这是以下内容的后续内容 访问 ember js 中的另一个模型数据 https stackoverflow com questions 19386351 accessing another models data in ember js 我
  • 分别了解 offsetWidth、clientWidth、scrollWidth 和 -Height

    StackOverflow 上有几个关于offsetWidth clientWidth scrollWidth and Height 分别 但没有人给出这些值的全面解释 此外 网络上有多个来源提供了令人困惑或不正确的信息 您能否给出完整的解
  • 适合新手的 Apache Shiro 和 Java 安全性

    我对 Java 的安全模型几乎一无所知 包括 XML 配置 策略设置 任何安全框架组件 工具 例如密钥库等 以及介于两者之间的所有内容 虽然我明白最终会变成基本的对于我来说 卷起袖子深入学习 Java 安全性 我想知道使用 Apache S
  • 在 ConEmu 中启动或新选项卡时运行 autostart_console.bat?

    我在 Windows 8 Pro 上使用 ConEmu 强大的 cmd 在启动 ConEmu 或打开新选项卡时 如何 在哪里设置 conemu 运行 autostart console bat 谢谢 大多数情况下你需要使用以下命令Comma
  • 多通道图像中的 calcCovarMatrix 和未解决的断言错误

    我尝试从存储在 cv Mat 中的图像获取协方差矩阵 我需要它来计算马哈拉诺比斯距离并尝试进行一些颜色分割 这是我的代码 Mat covar selection meanBGR selection src roi calcCovarMatr
  • 为什么我在使用 Fabric python 库时收到低级套接字错误?

    当我运行命令时 fab H localhost host type 我收到以下错误 localhost Executing task host type localhost run uname s Fatal error Low level
  • 可滚动文本块大小恰好为 2 行高

    我需要显示文本 最多 2 行 没有可见的垂直滚动 然后在大于 2 行时显示滚动
  • ddply 中抛出的错误导致 R 崩溃

    我遇到了一个问题 当提供的函数抛出错误时 plyr 始终崩溃 gt require plyr Loading required package plyr Warning message package plyr was built unde
  • 为新项目选择“更好”或更熟悉的技术?

    我希望开始一个全新的项目 作为我的第一个独立可销售项目 我已经考虑了一段时间了 从广义上讲 它是一个基于 Web 的服务应用程序 而我的第一选择 服务器语言非常简单 我过去在 Java Web 应用程序上工作 对 Java 非常了解 然而
  • 使用 Jquery $.get() 逐行检索文本文件

    是否可以逐行检索txt文件内容 现在我正在使用这段代码 var file http plapla com pla txt function getFile get file function txt save txt responseTex
  • geom_wordcloud :这是一个白日梦吗

    我处理一些跨各种分组变量的文本数据 我正在考虑创建一种使用 Ian Fellows 制作多面文字云图的方法wordcloud包裹 我喜欢这种方式ggplot2方面的社会变量 我正在决定如何解决这个问题 多面词云图 是否可以使用 Fellow
  • 为什么使用隐藏字段?

    我经常看到 Web 应用程序中使用了很多隐藏字段 我所编写的代码是为了使用大量隐藏字段以及来回发送给它们的可见字段的数据值而编写的 虽然我不明白为什么使用隐藏字段 我几乎总能想出在不使用隐藏字段的情况下解决相同问题的方法 隐藏字段如何帮助设
  • Java 进程挂在 IOUtils 上。疑似死锁

    我有一个 java 进程挂在调用中IOUtils toString使用以下代码 String html try html IOUtils toString someUrl openStream utf 8 process hangs on
  • Vue.js 动态类名?

    我需要根据评论等级进行颜色降级 我希望在 Vue js 中完成一些事情 如下所示 div class review 在我的方法中我有这样的东西 reviewColor return green 不幸的是 这并没有为我提供 green 班级
  • 将解决方案中的所有项目重新定位到 .NET 4.5.2

    我在 Visual Studio 2012 中有一个解决方案 其中包含 170 个 C 项目 我需要将所有项目从 NET Framework 4 0 重新定位到 4 5 2 我更喜欢让 Visual Studio 通过进入每个项目的属性 更
  • 将 JSON 日期转换为 MM/DD/YYYY 格式?

    我的客户收到一个包含多列的电子表格 其中一列是 日期 只有日期被格式化为Date 1292291582263 0700 看起来是一个 JSON 日期 我需要在此电子表格代码 VBA 的其他位置转换并使用 MM DD YYYY 格式的 JSO
  • Bootstrap 3 - 带侧边栏的 Scrollspy

    我正在使用 Bootstrap 3 我想重新创建与侧边栏相同的功能Bootstrap 站点上的文档 http getbootstrap com javascript 下面是我的代码 它也在这里 http bootply com 82119