如何使用bootstrap滾動(dòng)監(jiān)控器

今天就跟大家聊聊有關(guān)如何使用bootstrap滾動(dòng)監(jiān)控器,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

昂昂溪網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),昂昂溪網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為昂昂溪上千多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的昂昂溪做網(wǎng)站的公司定做!

滾動(dòng)監(jiān)控器

1、當(dāng)用戶鼠標(biāo)滾動(dòng)時(shí),滾動(dòng)條的位置會(huì)自動(dòng)更新導(dǎo)航條中相應(yīng)的導(dǎo)航項(xiàng)。
這是因?yàn)樵摬寮梢宰詣?dòng)檢測(cè)滾動(dòng)條到達(dá)哪個(gè)位置,然后在需要高亮的菜單元素上加了一個(gè)“active”樣式。

滾動(dòng)監(jiān)控器–滾動(dòng)監(jiān)控器的設(shè)計(jì)

第一步:使用滾動(dòng)監(jiān)控器,首要的條件是在頁面中加載對(duì)應(yīng)的插件。在這里你可以加載合并好的bootstrap.js或者其獨(dú)立的插件文件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>

第二步:設(shè)計(jì)一個(gè)帶有下拉菜單的導(dǎo)航條。分別為導(dǎo)航條和下拉菜單項(xiàng)定義一個(gè)錨點(diǎn)鏈接,錨點(diǎn)分別為“#blog”,“html”,“#css”,“#sass”,“#js”,“php”,“#about”。同時(shí)為導(dǎo)航條定義一個(gè)id值“navbar-menu”(id名稱可自由定義),方便滾動(dòng)監(jiān)控。

如何使用bootstrap滾動(dòng)監(jiān)控器

第三步:設(shè)計(jì)監(jiān)控對(duì)象。這里將監(jiān)控對(duì)象內(nèi)容都放置在一個(gè)div名為scrollspy(這個(gè)類名可自由定義)的容器中,其中放了多個(gè)子內(nèi)容框。每個(gè)子內(nèi)容框有一個(gè)標(biāo)題,而且每個(gè)標(biāo)題的ID值與導(dǎo)航菜單項(xiàng)中的錨點(diǎn)鏈接名相對(duì)應(yīng),并且注意加入“data-target=”#navbar-menu””屬性(這個(gè)屬性值要與前面的nav標(biāo)簽的id名稱保持一致)

<div class="scrollspy" data-target="#navbar-menu">
  <h5 id="blog">Blog</h5>
  <p>…</p>
  <h5 id="html">Html</h5>
  <p>…</p>
  <h5 id="css">CSS</h5>
  <p>…</p>
  <h5 id="sass">Sass</h5>
  <p>…</p>
  <h5 id="js">JavaScript</h5>
  <p>…</p>
  <p>…</p>
  <h5 id="php">PHP</h5>
  <p>…</p>
  <p>…</p>
  <h5 id="about">About</h5>
  <p>…</p>
  <p>…</p>
</div>

第四步:為監(jiān)控對(duì)象定義樣式,設(shè)置容器scrollspy大?。ㄔO(shè)置高度目的是為了產(chǎn)生垂直滾動(dòng)條)。

.scrollspy{
  height:500px;
  font-size:20px;
  overflow:auto;
}

滾動(dòng)監(jiān)控器–聲明屬性觸發(fā)滾動(dòng)監(jiān)控

為監(jiān)控對(duì)象設(shè)置被監(jiān)控的data屬性:data-spy=”scroll”,指定監(jiān)控的導(dǎo)航條:data-target=”#navbar-menu”。同時(shí)定義監(jiān)控過程中滾動(dòng)條偏移位置data-offset=”60”。代碼如下:

<div class="scrollspy" data-spy="scroll" data-target="#navbar-menu" data-offset="60">
 …
</div>

滾動(dòng)監(jiān)控器–在body中加監(jiān)控
還可以直接在body上進(jìn)行滾動(dòng)條監(jiān)控,此時(shí)要將滾動(dòng)監(jiān)控器移到body上,而且導(dǎo)航nav一定要在body內(nèi)部。

<body data-spy="scroll" data-target="#navbar-menu">
  <div class="navbar navbar-default navbar-fixed-top" id="navbar-menu">
  </div>
  <h4 id="blog">Blog</h4>
  <p>…</p>
</body>

導(dǎo)航條必須設(shè)置為頂部固定樣式(navbar-fixed-top)

滾動(dòng)監(jiān)控器–JavaScript方法觸發(fā)滾動(dòng)監(jiān)控器

在Bootstrap框架中,使用JavaScript方法觸發(fā)滾動(dòng)監(jiān)控器相對(duì)來說較為簡(jiǎn)單,只需要指定兩個(gè)容器的名稱即可

<nav id="navbar-menu" class="navbar navbar-default navbar-static" role="navigation">
 …
</nav>

<div class="scrollspy" id="scrollspy">
 …
</div>

JavaScript觸發(fā)可以這樣寫:

$(function(){
  $("#scrollspy").scrollspy({
    target: "#navbar-menu"
  });
})

Bootstrap的滾動(dòng)監(jiān)控還提供了一個(gè)方法scrollspy(“refresh”)。當(dāng)滾動(dòng)監(jiān)控所作用的DOM有增加或刪除頁面元素的操作時(shí),需要調(diào)用下面的refresh方法:

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

注意的是,這種refresh方法只對(duì)聲明式用法有效。另外滾動(dòng)監(jiān)控除了options參數(shù)“target”之外,還提供了一個(gè)offset參數(shù),此參數(shù)默認(rèn)值為10。默認(rèn)情況下,滾動(dòng)內(nèi)容距離滾動(dòng)容器10px以內(nèi)的話,就高一片面前顯示所對(duì)應(yīng)的菜單項(xiàng)。

滾動(dòng)監(jiān)實(shí)例 :

<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">

  <!----導(dǎo)航容器-->
  <nav role="navigation" class="navbar navbar-default navbar-static" id="navbar-example2">
   <div class="container-fluid">   

    <div class="navbar-header">

    <!----點(diǎn)擊這個(gè)按鈕時(shí),觸發(fā)bs-example-js-navbar-scrollspy: 這個(gè)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>

    <!----導(dǎo)航標(biāo)題-->
     <a href="#" class="navbar-brand">導(dǎo)航標(biāo)題</a>
    </div>

     <!----折疊菜單容器-->
    <div class="collapse navbar-collapse bs-example-js-navbar-scrollspy">

     <!----導(dǎo)航-->
     <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>
     <!----導(dǎo)航結(jié)束-->
    </div>

   </div>

  </nav>  

  滾動(dòng)監(jiān)對(duì)象
  <div class="scrollspy-example" data-offset="0" data-target="#navbar-example2" data-spy="scroll">
   <h5 id="fat">@fat</h5>
   <p>Ad leggings keytar,</p>
   <h5 id="mdo">@mdo</h5>
   <p>Veniam marfa mustache skateboard</p>
   <h5 id="one">one</h5>
   <p>Occaecat commodo aliqua delectus.</p>
   <h5 id="two">two</h5>
   <p>In incididunt echo park, officia deserunt mcsweeney's </p>
   <h5 id="three">three</h5>
   <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>

看完上述內(nèi)容,你們對(duì)如何使用bootstrap滾動(dòng)監(jiān)控器有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

標(biāo)題名稱:如何使用bootstrap滾動(dòng)監(jiān)控器
本文URL:http://bm7419.com/article20/pcosco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、網(wǎng)站收錄品牌網(wǎng)站制作、網(wǎng)站內(nèi)鏈、軟件開發(fā)、網(wǎng)頁設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司