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

简介: Bootstrap 框架

作者:WangMin
格言:努力做好自己喜欢的每一件事

banner.png

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

用法

注意:

  • 依赖 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=""

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

事件

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

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

目录
相关文章
|
5天前
|
存储 JavaScript 前端开发
js/javascript 操作字符串【全】(含常用的操作字符串的lodash)
js/javascript 操作字符串【全】(含常用的操作字符串的lodash)
5 1
|
3天前
|
JavaScript
js 滚动鼠标滑轮放大缩小图片
js 滚动鼠标滑轮放大缩小图片
5 0
|
3天前
|
监控 JavaScript 前端开发
JavaScript与Nest.js:打造高性能的服务器端应用
Nest.js是Node.js的渐进式框架,融合OOP、FP和FRP,提供模块化、装饰器和依赖注入,助建高性能服务器应用。选择Nest.js的原因包括模块化设计、简洁的装饰器API和高性能基础(如Express或Fastify)。开始使用需安装Node.js和`@nestjs/cli`,创建项目、编写控制器。深入学习涉及模块化、服务的依赖注入及中间件。安全性优化涵盖HTTPS、CORS策略、限流和性能监控。
|
5天前
|
前端开发 JavaScript
js 进入浏览器全屏(F11效果)、退出全屏、指定元素全屏、判断当前是否全屏、监听浏览器全屏事件、定义全屏时的css样式(全屏伪类)
js 进入浏览器全屏(F11效果)、退出全屏、指定元素全屏、判断当前是否全屏、监听浏览器全屏事件、定义全屏时的css样式(全屏伪类)
7 0
|
5天前
|
JavaScript 前端开发
js/javascript 操作对象【全】(含常用的操作对象的lodash)
js/javascript 操作对象【全】(含常用的操作对象的lodash)
5 0
|
5天前
|
存储 JavaScript 前端开发
js/javascript 操作数组【全】(含常用的操作数组的lodash)
js/javascript 操作数组【全】(含常用的操作数组的lodash)
4 0
|
6天前
|
JavaScript 前端开发
js/javascript 操作时间日期【全】含时间日期的创建、获取、比较、计算、格式化、时间戳、昨天、今天、星期汉化、计时、相关插件等
js/javascript 操作时间日期【全】含时间日期的创建、获取、比较、计算、格式化、时间戳、昨天、今天、星期汉化、计时、相关插件等
33 0
N..
|
2月前
|
开发框架 前端开发 UED
Bootstrap的CSS组件
Bootstrap的CSS组件
N..
23 0
|
9月前
|
前端开发 容器
|
9月前
|
前端开发 容器