• 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很多插件类似。

      

      

      
      

      

  • 相关阅读:
    php中除法取整的方法(round,ceil,floor)
    ajax 实现修改功能
    ueditor PHP版本使用方法
    $.ajax json 在本地正常 上传服务器不正常
    Web常见几种攻击与预防方式
    PHP使用Session遇到的一个Permission denied Notice解决办法
    VUE引入模块之import xxx from 'xxx' 和 import {xxx} from 'xxx'的区别
    JS事件委托或者事件代理原理以及实现
    JS 一次性事件问题
    原生JS 和 JQ 获取滚动条的高度,以及距离顶部的高度
  • 原文地址:https://www.cnblogs.com/wbxjiayou/p/5262276.html
Copyright © 2020-2023  润新知