Bootstrap ScrollSpy 用法

本文介绍 Twitter Bootstrap 中 ScrollSpy 插件的两种使用方式:通过 data 属性和 JavaScript 语句。并提供了一个具体示例,展示了如何设置 HTML 结构以便实现滚动监听效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用法

 

Twitter Bootstrap 的 ScrollSpy 插件有两种用法

 

 

  1. 通过 data 属性

    根据情况,给需要监视的页面元素添加 data-spy="scroll" – 一般是 body 元素,并且通过 data-target 属性指定目标:

    <body data-spy="scroll" data-target=".navbar">...</body>

     

  2. 通过 Javascript 语句

    $('#navbar').scrollspy()

 

举一个例子,如下:

 

监控的导航部分 HTML 代码:

<div class="bs-docs-sidebar">
    <ul class="nav">
        <li><a href="#one">hello Bootstrp 3</a></li>
        <li><a href="#two">hello jQuery</a></li>
        <li><a href="#three">hello ScrollSpy</a></li>
    </ul>
</div>

 

 

导航相对应的内容部分代码:

 

<div>
    <h2 id="one">This is one.</h2>
    <p>......</p>
    <h2 id="two">This is two.</h2>
    <p>......</p>
    <h2 id="three">This is three.</h2>
    <p>......</p>
</div>

 

 

上述代码里,我们点击导航部分的锚链接可以直接跳转到相应的内容部分,这是这最基本的 HTML 结构。

 

最重要的,导航代码中 ul 含有一个 CSS 类 .nav,它是必需的,没有的话就会导致插件无效果。

 

应用第一个方法,在 body 元素添加相关属性:

 

<body data-spy="scroll" data-target=".bs-docs-sidebar">

 

 

data-target 属性指向的是 class 为 bs-docs-sidebardiv 块。

 

 

第二种办法,使用 JavaScript:

$(function(){
    $('.bs-docs-sidebar').scrollspy();
})

 

 

Bootstrap 文档推荐第一种方法,因为不用任何的 JavaScript 语句即可实现 ScrollSpy 效果。

 

附:jsfiddle 示例

 

 

调试

 

如果你的 ScrollSpy 不起作用,则有一个简单的调试办法,利用 fireQuery

 

fireQuery

 

 

上图是安装 fireQuery 后打开 firebug 面板 HTML 标签页里的截图,因为 fireQuery 会将 jQuery 事件等附加在 HTML 代码中,所以我们可以清楚地看到如下一条规则,

 

selector=".bs-docs-sidebar .nav li > a"

 

 

如果你的导航部分 HTML 结构与它不一样,则说明 jQuery 找不到它要的元素,也就没法生成效果,解决办法是调整代码结构。

 

来源:www.zfanw.com/blog/bootstrap-scrollspy.html

 

默认的 bootstrap.css, 不是必须要加载的,只要给 .active 添加自定义的css style就可以!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值