zoukankan      html  css  js  c++  java
  • bootstrap学习笔记之四(javascript插件)

    下面展现四个插件的用法,一般插件的功能可以用两种方法实现,一种是引入bootstrap.js后,通过添加data属性实现,另一种则是通过js代码是实现。

    第一个插件:下拉菜单的实现

     第一种方法:data属性

      可以回顾下拉菜单组件的学习,记得当开始学习下拉菜单时就引入了data-toggle="dropdown"属性,如果没有使用这个属性,是无法实现下拉菜单效果的。随便说下,将下拉菜单触发器和下拉菜单都包裹在 .dropdown 里,或者另一个声明了 position: relative; 的元素,都是可以的,我们也可以把下拉菜单运用到按钮组,导航组里。所以说父集的类名dropdown是可以改变的,但是下拉菜单的dropdown-menu是不可以改变的。

    1 <div class="dropdown">
    2   <button id="dLabel" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    3     Dropdown trigger
    4     <span class="caret"></span>
    5   </button>
    6   <ul class="dropdown-menu" aria-labelledby="dLabel">
    7     ...
    8   </ul>
    9 </div>

      第二种方法:通过js实现(还是需要data属性)

      如果没有data-toggle="dropdown"属性,可以在js中加上 $().dropdown('toggle')依然没发是实现效果,所以正如官方文档所说,通过js也是需要有data-toggle="dropdown"属性的。

    第二个插件:TAB切换插件

      这个插件只有通过JS才能实现,所以只有一种方法

      JS方法: html结构如下,ul下位tab导航栏,tab-content为要对应的切换的内容。   

     1     <!-- Nav tabs -->
     2       <ul class="nav nav-tabs" role="tablist" id="myTabs">
     3         <li role="presentation" class="active"><a href="#home" aria-controls="home" role="tab">Home</a></li>
     4         <li role="presentation"><a href="#profile" aria-controls="profile" role="tab">Profile</a></li>
     5         <li role="presentation"><a href="#messages" aria-controls="messages" role="tab">Messages</a></li>
     6         <li role="presentation"><a href="#settings" aria-controls="settings" role="tab">Settings</a></li>
     7       </ul>
     8       <!-- Tab panes -->
     9       <div class="tab-content">
    10         <div role="tabpanel" class="tab-pane active" id="home">我是王彪选我是王彪选1</div>
    11         <div role="tabpanel" class="tab-pane" id="profile">我是王彪选我是王彪选2</div>
    12         <div role="tabpanel" class="tab-pane" id="messages">我是王彪选我是王彪选3</div>
    13         <div role="tabpanel" class="tab-pane" id="settings">我是王彪选我是王彪选4</div>
    14       </div>
    15     </div>

    js如下:

    1 $('.nav a').click(function (e) {
    2       e.preventDefault()//阻止默认事件,去调后会进入#home。
    3       $(this).tab('show')
    4 })

    第三个插件:滚动监听

      一般监听对象都是body,但不同的需求,可能监听body之外的元素,但是当监听其他对象时必要声明其height以及overflow-y:hidden或scroll。更需注意的是不管监听对象是body或者其他对象,都需要给对象加上position: relative; 即相对定位方式。

      第一种方法:data属性方法

    1 <body data-spy="scroll" data-target="#navbar-example">
    2   ...
    3   <div id="navbar-example">//舰艇对象
    4     <ul class="nav nav-tabs" role="tablist">
    5       <a href="#home">home</a>
          ...
    6 </ul>
        <div class="nav-content">
        <div id="home">
    ....//被监听内容   

        </div>
           ...
    7     </div>
    8   ...
    9 </body>

      第二种方法:js实现 

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

    第四个插件:大图滚动(carousel)

      同jquery很多插件类似。

      

      

      
      

      

  • 相关阅读:
    Java 中Timer和TimerTask 定时器和定时任务使用的例子
    PowerDesigner逆向工程导入MYSQL数据库总结
    Powerdesigner 连接mysql 在指定的DSN中,驱动程序和应用程序之间的体系结构不匹配 SQLSTATE = IM014
    关于web.xml中的<welcome-file-list>
    SQL查询四舍五入 解决方法
    HTML页面跳转的5种方法
    easyUI datagrid 列宽自适应(简单 图解)(转)
    navicat for mysql只导出数据表结构(转)
    每一位想有所成就的程序员都必须知道的15件事(走不一样的路,要去做,实践实践再实践,推销自己,关注市场)good
    2017除夕夜的感悟:学习工作不分家,工作生活不分家,读书用兵不分家
  • 原文地址:https://www.cnblogs.com/wbxjiayou/p/5262276.html
Copyright © 2011-2022 走看看