Bootstrap 导航栏在滚动时折叠

2023-12-02

我在我的项目中使用引导灰度主题,它有一个在滚动时折叠的导航栏,或者如果我转到同一页面上的链接(#download 等)

问题是当我从其他页面转到锚链接时,导航栏在滚动之前不会折叠。

我想解决方案是在java脚本中添加该行,但我真的不知道要添加什么,因为我不知道java。 :-(

// jQuery to collapse the navbar on scroll
$(window).scroll(function() {
if ($(".navbar").offset().top > 50) {
    $(".navbar-fixed-top").addClass("top-nav-collapse");
} else {
    $(".navbar-fixed-top").removeClass("top-nav-collapse");
}
});

请帮忙。 :) :-*


您需要在页面加载时以及窗口滚动时运行检查,您可以通过将检查页面偏移量的逻辑放入函数中并从文档就绪和窗口运行它来执行此操作,而无需重复任何代码滚动。

$(document).ready(function() {

    // Put your offset checking in a function
    function checkOffset() {
        if ($(".navbar").offset().top > 50) {
            $(".navbar-fixed-top").addClass("top-nav-collapse");
        }     
        else {
            $(".navbar-fixed-top").removeClass("top-nav-collapse");
        }
    }

    // Run it when the page loads
    checkOffset();


    // Run function when scrolling
    $(window).scroll(function() {
        checkOffset();
    });
});

Edit:

我相信您可以通过将 checkOffset 函数替换为以下内容来进一步缩短此时间:

// Put your offset checking in a function
function checkOffset() {
    $(".navbar-fixed-top").toggleClass("top-nav-collapse", $(".navbar").offset().top > 50);
}

我还没有测试过这一点,但只要toggleClass中的第二个参数返回一个布尔值,它就会根据页面的偏移量添加或删除类,而不需要if语句。

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

Bootstrap 导航栏在滚动时折叠 的相关文章

随机推荐

  • 更改 tkinter 窗口边框样式

    我想让我的窗框看起来像旧的 windows 95 风格 现在 当我创建窗口时 tkinter 会自动采用我的操作系统 Windows 10 的样式 有办法改变这个吗 不 没有什么特别可以使窗口边框看起来不同 您唯一的选择是完全删除边框 例如
  • NETLOGO:使用上一个刻度的变量

    是否有一些原语可以使用前一个刻度的变量值 我尝试计算一个代理的 价格 变量 我的意思是使用包含其他代理的 价格 变量但来自上一个刻度的公式 不 NetLogo 中没有内置方法可以执行此操作 您最好的选择可能是创建一个名为以下内 容的变量va
  • 将 ioctl() 调用从 unix 移植到 linux,FIONBIO 出错

    我想使用 ioctl 来获取准备读取的字节数 我这样做的方式是 mysocket socket ioctl mysocket FIONBIO zero connect ioctl mysocket FIONREAD numBytes rea
  • 生成 [-1, 1] 范围内的随机数数组

    我正在尝试在 Fortran 中的 2D 数组中生成 1 1 范围内的随机数 我知道为了生成 1 和 1 范围内的随机数 我必须将数字重新调整为 0 2 但我不知道如何填充矩阵x 10 10 with randomReal 这是代码 pro
  • InstallShield 限量版支持 64 位安装程序吗?

    我刚刚开始学习 InstallShield LE 因为它似乎是唯一 官方 支持的安装程序项目 但我有一个简单的问题 我什至无法得到绝对的答案 ISLE 是否支持构建 64 位安装程序 我之所以这么问 是因为我发现至少有两篇文章说这是不可能的
  • 如何将两个不同Spout的输出发送到同一个Bolt?

    我有两个 Kafka Spout 我想将它们的值发送到同一个 Bolt 是否可以 对的 这是可能的 TopologyBuilder b new TopologyBuilder b setSpout topic 1 new KafkaSpou
  • 使用 PHP 以非 ASCII 字符输出日期

    我正在尝试以繁体中文输出日期 我将日期作为 Unix 时间戳 例如 1467244800 我正在做以下事情 我得到的输出是 Unicode 未定义 字符 30 2016 17 T 2016 18 Q G 2015 谁能告诉我我做错了什么 我
  • 使用端口 443 连接到 Heroku

    我是一名大学生 除了80 443之外的所有端口都被封锁 我可以通过以下方式连接到 github Host github com Hostname ssh github com Port 443 git push heroku master给
  • Eclipse 关闭钩子能够停止终止

    我正在开发一个插件 该插件执行外部工具 如果用户在进程正在运行时尝试退出 Eclipse 我必须提供一个确认对话框 有正在运行的进程 你真的想退出吗 如果用户点击No Eclipse 可能不会终止 我刚刚发现 如何挂钩退出命令来清理思考 该
  • Outlook 中 html 电子邮件的显示错误

    我使用以下代码创建了一封 html 电子邮件 div style background color orange max width 600px height 180px margin left auto margin right auto
  • Google Sheet Api get 函数在 nodejs 中返回未定义的值

    function changeData auth sheetId var sheets google sheets v4 sheets spreadsheets values update auth auth spreadsheetId s
  • 增量压缩和一次性压缩有什么区别?

    我正在尝试使用bz2 and or lzmapython 中的包 我正在尝试以 csv 格式压缩数据库转储 然后将其放入zip文件 我让它与这两个包一起使用一次性压缩 其代码如下所示 with ZipFile something zip w
  • 如何使用R中的Leaflet用一条线连接两个坐标

    我正在尝试使用 R 中的 Leaflet 包来绘制放大器并根据下表中的纬度和经度信息连接标记 Observation InitialLat InitialLong NewLat NewLong A 62 469722 6 187194 51
  • D3 Topojson 圆,半径以英里为单位

    假设现有投影 topojson 我想做的是在半径 r 以英里为单位的点 long lat 处创建一个圆 我知道有一个 d3 geo 函数可以实现此目的 但经过一番考虑后 我认为它与我的特定应用程序不太兼容 所以现在我正在寻找使用原生 svg
  • ios - 以编程方式将 .m4a 转换为 .mp3 文件

    这里我有m4a格式的音频 我需要转换成mp3格式 为此 我使用的代码为 void toMp3 NSString m4aFilePath pathToSave NSString mp3FileName NSString stringWithF
  • 从我的 Android 应用程序调用 Google Pay Intent 时出现错误“您已超出银行设置的最大交易金额”

    我在 Android 应用程序中遇到 Google Pay 集成 应用内支付 问题 当我提出交易请求时 我收到错误 您已超出银行设置的最大交易金额 即使这是我的第一笔交易 当我尝试直接从 Google Pay 发送金额时 它起作用了 Thi
  • 监控和维护应用程序在光盘上的大小的解决方案

    我正在构建一个广泛使用 CoreData 的应用程序 并且我的许多模型都具有 UIImage 和 NSData 属性 用于图像和视频 由于将数据直接存储到 CoreData 中并不是一个好主意 因此我构建了一个文件管理器类 该类根据创建的上
  • RapidXML 给出空的 CDATA 节点

    我编写了下面的代码来获取 CDATA 节点值 我得到了节点的名称 但值是空白的 我将解析标志更改为 parse full 但它也不起作用 如果我从 XML 中手动删除 它会给出预期的值 但在解析之前删除它不是一个选项 代码 include
  • Promises - 在 Promise.all 中捕获所有拒绝[重复]

    这个问题在这里已经有答案了 我有这个虚拟代码 var Promise require bluebird function rej1 return new Promise reject new Error rej1 function rej2
  • Bootstrap 导航栏在滚动时折叠

    我在我的项目中使用引导灰度主题 它有一个在滚动时折叠的导航栏 或者如果我转到同一页面上的链接 download 等 问题是当我从其他页面转到锚链接时 导航栏在滚动之前不会折叠 我想解决方案是在java脚本中添加该行 但我真的不知道要添加什么