滚动监控器

1、当用户鼠标滚动时,滚动条的位置会自动更新导航条中相应的导航项。
这是因为该插件可以自动检测滚动条到达哪个位置,然后在需要高亮的菜单元素上加了一个“active”样式。
滚动监控器–滚动监控器的设计
第一步:使用滚动监控器,首要的条件是在页面中加载对应的插件。在这里你可以加载合并好的bootstrap.js或者其独立的插件文件scrollspy.js。这里以加载合并好的js为例:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
第二步:设计一个带有下拉菜单的导航条。分别为导航条和下拉菜单项定义一个锚点链接,锚点分别为“#blog”,“html”,“#css”,“#sass”,“#js”,“php”,“#about”。同时为导航条定义一个id值“navbar-menu”(id名称可自由定义),方便滚动监控。
第三步:设计监控对象。这里将监控对象内容都放置在一个div名为scrollspy(这个类名可自由定义)的容器中,其中放了多个子内容框。每个子内容框有一个标题,而且每个标题的ID值与导航菜单项中的锚点链接名相对应,并且注意加入“data-target=”#navbar-menu””属性(这个属性值要与前面的nav标签的id名称保持一致)
<div class="scrollspy" data-target="#navbar-menu"> <h4 id="blog">Blog</h4> <p>…</p> <h4 id="html">Html</h4> <p>…</p> <h4 id="css">CSS</h4> <p>…</p> <h4 id="sass">Sass</h4> <p>…</p> <h4 id="js">JavaScript</h4> <p>…</p> <p>…</p> <h4 id="php">PHP</h4> <p>…</p> <p>…</p> <h4 id="about">About</h4> <p>…</p> <p>…</p> </div>
第四步:为监控对象定义样式,设置容器scrollspy大小(设置高度目的是为了产生垂直滚动条)。
.scrollspy{
height:500px;
font-size:20px;
overflow:auto;
}
滚动监控器–声明属性触发滚动监控
为监控对象设置被监控的data属性:data-spy=”scroll”,指定监控的导航条:data-target=”#navbar-menu”。同时定义监控过程中滚动条偏移位置data-offset=”60”。代码如下:
<div class="scrollspy" data-spy="scroll" data-target="#navbar-menu" data-offset="60"> … </div>
滚动监控器–在body中加监控
还可以直接在body上进行滚动条监控,此时要将滚动监控器移到body上,而且导航nav一定要在body内部。
<body data-spy="scroll" data-target="#navbar-menu"> <div class="navbar navbar-default navbar-fixed-top" id="navbar-menu"> </div> <h3 id="blog">Blog</h3> <p>…</p> </body>
导航条必须设置为顶部固定样式(navbar-fixed-top)
滚动监控器–JavaScript方法触发滚动监控器
在Bootstrap框架中,使用JavaScript方法触发滚动监控器相对来说较为简单,只需要指定两个容器的名称即可
<nav id="navbar-menu" class="navbar navbar-default navbar-static" role="navigation"> … </nav> <div class="scrollspy" id="scrollspy"> … </div>
JavaScript触发可以这样写:
$(function(){
$("#scrollspy").scrollspy({
target: "#navbar-menu"
});
})
Bootstrap的滚动监控还提供了一个方法scrollspy(“refresh”)。当滚动监控所作用的DOM有增加或删除页面元素的操作时,需要调用下面的refresh方法:
$(function(){
$("[data-spy='scroll']").each(function(){
var $spy=$(this).scrollspy("refresh");
})
})
注意的是,这种refresh方法只对声明式用法有效。另外滚动监控除了options参数“target”之外,还提供了一个offset参数,此参数默认值为10。默认情况下,滚动内容距离滚动容器10px以内的话,就高一片面前显示所对应的菜单项。
滚动监实例 :
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<style>
.scrollspy-example{
height:500px;
font-size:20px;
overflow:auto;
}
</style>
</head>
<body>
<div class="bs-docs-section">
<div class="bs-example">
<!----导航容器-->
<nav role="navigation" class="navbar navbar-default navbar-static" id="navbar-example2">
<div class="container-fluid">
<div class="navbar-header">
<!----点击这个按钮时,触发bs-example-js-navbar-scrollspy: 这个css类,也就是下拉列表-->
<button data-target=".bs-example-js-navbar-scrollspy" data-toggle="collapse" type="button" class="navbar-toggle collapsed">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!----导航标题-->
<a href="#" class="navbar-brand">导航标题</a>
</div>
<!----折叠菜单容器-->
<div class="collapse navbar-collapse bs-example-js-navbar-scrollspy">
<!----导航-->
<ul class="nav navbar-nav">
<li><a href="#fat">@fat</a></li>
<li><a href="#mdo">@mdo</a></li>
<li class="dropdown">
<a aria-expanded="false" role="button" data-toggle="dropdown" class="dropdown-toggle" id="navbarDrop1" href="#">Dropdown <span class="caret"></span></a>
<ul aria-labelledby="navbarDrop1" role="menu" class="dropdown-menu">
<li><a tabindex="-1" href="#one">one</a></li>
<li><a tabindex="-1" href="#two">two</a></li>
<!----分割线-->
<li class="divider"></li>
<li><a tabindex="-1" href="#three">three</a></li>
</ul>
</li>
</ul>
<!----导航结束-->
</div>
</div>
</nav>
滚动监对象
<div class="scrollspy-example" data-offset="0" data-target="#navbar-example2" data-spy="scroll">
<h4 id="fat">@fat</h4>
<p>Ad leggings keytar,</p>
<h4 id="mdo">@mdo</h4>
<p>Veniam marfa mustache skateboard</p>
<h4 id="one">one</h4>
<p>Occaecat commodo aliqua delectus.</p>
<h4 id="two">two</h4>
<p>In incididunt echo park, officia deserunt mcsweeney's </p>
<h4 id="three">three</h4>
<p>Ad leggings keytar</p>
<p>Keytar twee blog</p>
</div>
</div>
</div>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# bootstrap
# 滚动监控器
# BootStrap下拉菜单和滚动监听插件实现代码
# 学习Bootstrap滚动监听 附调用方法
# 全面解析Bootstrap中scrollspy(滚动监听)的使用方法
# Bootstrap教程JS插件滚动监听学习笔记分享
# Bootstrap滚动监听(Scrollspy)插件详解
# Bootstrap每天必学之滚动监听
# 值得分享的最全面Bootstrap快速人门案例
# 值得分享的Bootstrap Table使用教程
# 值得分享和收藏的Bootstrap学习教程
# BootStrap的table表头固定tbody滚动的实例代码
# 导航条
# 滚动条
# 菜单项
# 加载
# 分别为
# 的是
# 是在
# 在这里
# 还可以
# 你可以
# 鼠标
# 多个
# 或删除
# 只需要
# 为例
# 要将
# 高一
# 设置为
# 这是因为
# 移到
相关文章:
网页设计与网站制作内容,怎样注册网站?
如何通过PHP快速构建高效问答网站功能?
Android自定义控件实现温度旋转按钮效果
如何通过远程VPS快速搭建个人网站?
如何通过网站建站时间优化SEO与用户体验?
制作网站的公司有哪些,做一个公司网站要多少钱?
建站之星如何开启自定义404页面避免用户流失?
免费ppt制作网站,有没有值得推荐的免费PPT网站?
如何选择靠谱的建站公司加盟品牌?
独立制作一个网站多少钱,建立网站需要花多少钱?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
设计网站制作公司有哪些,制作网页教程?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
h5在线制作网站电脑版下载,h5网页制作软件?
c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】
建站与域名管理如何高效结合?
太原网站制作公司有哪些,网约车营运证查询官网?
如何用y主机助手快速搭建网站?
网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?
建站之星体验版:智能建站系统+响应式设计,多端适配快速建站
建站之星后台管理系统如何操作?
C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)
如何解决ASP生成WAP建站中文乱码问题?
Swift中swift中的switch 语句
如何快速查询网站的真实建站时间?
如何在Golang中使用encoding/gob序列化对象_存储和传输数据
建站VPS配置与SEO优化指南:关键词排名提升策略
建设网站制作价格,怎样建立自己的公司网站?
如何在Tomcat中配置并部署网站项目?
建站主机如何选?高性价比方案全解析
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
建站之星导航菜单设置与功能模块配置全攻略
Swift中switch语句区间和元组模式匹配
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
建站之星代理平台如何选择最佳方案?
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
怀化网站制作公司,怀化新生儿上户网上办理流程?
,如何利用word制作宣传手册?
如何在万网主机上快速搭建网站?
如何通过可视化优化提升建站效果?
如何高效配置IIS服务器搭建网站?
网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?
盐城做公司网站,江苏电子版退休证办理流程?
,网站推广常用方法?
,sp开头的版面叫什么?
高性价比服务器租赁——企业级配置与24小时运维服务
如何在宝塔面板创建新站点?
建站主机是否属于云主机类型?
*请认真填写需求信息,我们会在24小时内与您取得联系。