Bootstrap滚动监听分析

滚动监听

导航条实例

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

用法

  • 依赖Bootstrap的导航组件
    滚动监听插件依赖Bootstrap的导航组件用于高度显示当前激活的连接
  • 需要添加ID
    导航栏连接必须具有可解析的id。例如,
<a href="#home">home</a>

必须对应于DOM中的某些内容,如

<div id="home"></div>
  • 非:忽略可见的目标元素
    根据jQuery可见的目标元素将被忽略,他们对应的nav项将永远不会突出显示。

需要相对定位(position:relative)

无论何种实现方式,滚动监听都需要被监听的组件是position:relative;即相对定位方式。大多数时候是监听<body>元素.当滚动监听除<body>之外的元素时,请确保设置了高度并应用overflow-y:scroll

通过data属性调用

要想轻松的将scroll-spy行为添加到你的顶栏导航,请将data-spy='scroll' 添加到你要监听的元素(通常这是)。然后添加带有任何Bootstrap.nav组件的元素的ID或类的数据目标属性。

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

通过Javascript调用

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

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

方法

.scrollspy(‘refresh’)
当使用滚动监听插件的同时在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...
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值