Bootstrap JavaScript插件:滚动监听 (scrollspy.js)

作者:WangMin
格言:努力做好自己喜欢的每一件事
CSDN原创文章
博客地址 👉 WangMin

滚动监听插件是用来根据滚动条所处的位置来自动更新导航项的。如下所示,滚动导航条下面的区域并关注导航项的变化。下拉菜单中的条目也会自动高亮显示。

用法

注意:

  • 依赖 Bootstrap 的导航组件
    滚动监听插件依赖 Bootstrap 的导航组件 用于高亮显示当前激活的链接。
  • 导航栏链接必须有可解析的id目标。例如,<a href=“#home”>home</a>必须对应于DOM中的某些内容,如<div id=“home”></div>。

1. 需要相对定位(relative positioning)
滚动监听都需要被监听的组件是position: relative;即相对定位方式。一般我们监听的都是body,所以直接给body一个相对定位
2. 通过 data 属性调用
将data-spy=“scroll”添加到要监视的元素(最典型的是)。然后使用任何Bootstrap.nav组件的父元素的ID或类添加datatarget属性。如下:

body {
  position: relative;
}
<body data-spy="scroll" data-target="#navbar-example">
  ...
  <div id="navbar-example">
    <ul class="nav nav-tabs" role="tablist">
      ...
    </ul>
  </div>
  ...
</body>

3. 通过 JavaScript 调用

在 CSS 中添加position: relative;之后,通过 JavaScript 代码启动滚动监听插件

$('body').scrollspy({ target: '#navbar-example' })

方法

当使用滚动监听插件的同时在 DOM 中添加或删除元素后,需要像下面这样调用刷新( refresh) 方法:

$('[data-spy="scroll"]').each(function () {
  var $spy = $(this).scrollspy('refresh')
})

参数

可以通过 data 属性或 JavaScript 传递参数。对于 data 属性,其名称是将参数名附着到data-后面组成,例如data-offset=""

名称类型默认值描述
offsetnumber10计算滚动位置时相对于顶部的偏移量(像素数)。

事件

事件类型描述
activate.bs.scrollspy每当一个新条目被激活后都将由滚动监听插件触发此事件。
$('#myScrollspy').on('activate.bs.scrollspy', function () {
  // do something…
})

就先分享到这里!! 😄 后续继续更新!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值