bootstrap滚动监控器使用方法解析
滚动监控器
1、当用户鼠标滚动时,滚动条的位置会自动更新导航条中相应的导航项。
这是因为该插件可以自动检测滚动条到达哪个位置,然后在需要高亮的菜单元素上加了一个“active”样式。
滚动监控器–滚动监控器的设计
第一步使用滚动监控器,首要的条件是在页面中加载对应的插件。在这里你可以加载合并好的bootstrap.js或者其独立的插件文件scrollspy.js。这里以加载合并好的js为例
<script src="https://ajax.googleapis./ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="//maxcdn.bootstrapcdn./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-" id="navbar-menu"> </div> <h3 id="blog">Blog</h3> <p>…</p> </body>
导航条必须设置为顶部固定样式(navbar-fixed-)
滚动监控器–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有增加或删除页面元素的操作时,需要调用狼蚁网站SEO优化的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./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>Oaecat modo 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./jquery/1.9.0/jquery.js"></script> <script src="http://maxcdn.bootstrapcdn./bootstrap/3.2.0/js/bootstrap.min.js"></script>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程