快速认识Javascript插件

导入的链接

    <link rel="stylesheet" href="bootstrap-4.2.1-dist/css/bootstrap.css">
    <link rel="stylesheet" href="font-awesome-4.7.0/css/font-awesome.css">
    <script src="jquery-3.3.1.slim.js"></script>
    <script src="https://cdn.staticfile.org/popper.js/1.14.6/umd/popper.js"></script>
    <script src="bootstrap-4.2.1-dist/js/bootstrap.min.js"></script>

插件分类

Bootstrap4内置了许多插件,这些插件在Web应用开发中应用频率比较高,下面列出bootstrap插件支持的文件以及各种插件对应的js文件:
 警告框:alert.js。
 按钮:button.js。
 轮播:carousel.js。
 折叠:collapse.js。
 下拉菜单:dropdown.js。
 模态框:modal.js。
 弹窗:popover.js。
 滚动监听:scrollspy.js。
 标签页:tab.js。
 工具提示:tooltip.js。

2 安装插件

Bootstrap插件可以单个引入,方法是使用bootstrap提供的单个*.js文件;也可以一次性全部引入,方法是引入bootstrap.js或者boostrap.min.js。
部分bootstrap插件和CSS组件依赖于其他插件。如果需要单独引入某个插件时,请确保在文档中检查插件之间的依赖关系。
所有bootstrap插件都依赖于util.js,它必须在插件之前引入。如果要单独使用某一个插件,引用时必须要包含util.js文件。如果使用的是已编译bootstrap.js或者bootstrap.min.js文件,就没有必要再引入该文件了,因为其中已经包含了。
提示:util.js文件包括实用程序函数、基本事件以及CSS转换模拟器。util.js文件在bootstrap4源文件中可以找到,与其他插件在一个文件夹中。

3 调用插件

Bootstrap4提供了两种调用插件的方法,具体说明如下。
1.Date属性调用
在页面中目标元素上定义data属性,可以启用插件,不用编写JavaScript脚本。推荐首选这种方式。
2.JavaScript调用
Bootstrap插件也可以使用JavaScript脚本进行调用。

4 事件

Bootstrap4为大部分插件自定义事件。这些事件包括两种动词形式,不定式和过去式。
 不定式形式:例如show,表示其在事件开始时被触发。
 过去式形式:例如shown,表示在动作完成之后被触发。
所有不定式事件都提供了preventDefault()功能,这提供了在操作开始之前停止其执行的能力,从事件处理程序返回false也会自动调用preventDefault()。

$('#myModal').on('show.bs.modal', function (e) {
  if (!data) return e.preventDefault()  //停止显示模态框
})

按钮

1. 切换状态

添加data-toggle="button"属性,可以切换按钮的active状态,如果你预先需要切换按钮,必须将.active样式属性添加到<button>标签中。

<body class="container">
    <button type="button" class="btn btn-danger " data-toggle="button" autocomplete="off">
        切换状态按钮,预先加入按钮可加入.active类
    </button>
</body>

也可以JavaScript脚本形式实现切换效果。

<button type="button" class="btn btn-danger " autocomplete="off">
        切换状态按钮,去掉data-toggle="button" 用JS脚本实现
        是放在按钮上,颜色发生改变
    </button>
    <script>
        $(".btn").click(function(){
            $("this").button("toggle")
        })
    </script>

2 按钮式复选框和单选框

Bootstrap的.button样式也可以作用于其它元素,例如<label>上,从而模拟单选框、复选框效果。添加data-toggle="buttons"到.btn-group下的元素里,可以启用样式切换效果。预先选中的按钮需要手动将.active添加到<label>上。

1.按钮式复选框

按钮组 class="btn-group";单击切换时变换深浅色 data-toggle="buttons"

<div class="btn-group" data-toggle="buttons">
    <label class="btn btn-primary active">
        <input type="checkbox" checked autocomplete="off">复选框 1
    </label>
    <!--label 元素不会向用户呈现任何特殊效果。
        不过,它为鼠标用户改进了可用性。如果您在 label 
        元素内点击文本,就会触发此控件。就是说,当用户选择该标签时,
        浏览器就会自动将焦点转到和标签相关的表单控件上。-->
    <label class="btn btn-primary">
        <input type="checkbox" autocomplete="off"> 复选框 2
    </label>
    <label class="btn btn-primary">
        <input type="checkbox" autocomplete="off"> 复选框 3
    </label>
</div>

btn-group-toggle类实现类似按钮组的效果

<div class="btn-group btn-group-toggle" data-toggle="buttons">
    <!--btn-group-toggle类实现类似按钮组的效果-->
    <label class="btn btn-primary active">
        <input type="checkbox" checked autocomplete="off"> 复选框 1
    </label>
    <label class="btn btn-primary">
        <input type="checkbox" autocomplete="off"> 复选框 2
    </label>
    <label class="btn btn-primary">
        <input type="checkbox" autocomplete="off"> 复选框 3
    </label>
</div>

2.按钮式单选框

单选框定义type="radio" name="options"

<div class="btn-group" data-toggle="buttons">
    <label class="btn btn-primary active">
        <input type="radio" name="options" id="option1" autocomplete="off" checked> 单选框 1
    </label>
    <label class="btn btn-primary">
        <input type="radio" name="options" id="option2" autocomplete="off"> 单选框 2
    </label>
    <label class="btn btn-primary">
        <input type="radio" name="options" id="option3" autocomplete="off"> 单选框 3
    </label>
</div>

单选框按钮组

<div class="btn-group btn-group-toggle" data-toggle="buttons">
    <label class="btn btn-primary active">
        <input type="radio" name="options" id="option1" autocomplete="off" checked>单选框 1
    </label>
    <label class="btn btn-primary">
        <input type="radio" name="options" id="option2" autocomplete="off"> 单选框 2
    </label>
    <label class="btn btn-primary">
        <input type="radio" name="options" id="option3" autocomplete="off"> 单选框 3
    </label>
</div>

警告框

1. 关闭警告框

设计一个警告框,并添加一个关闭按钮,只需为关闭按钮设置data-dismiss="alert"属性即可自动为警告框赋予关闭功能。
使用JavaScript脚本来控制警告框关闭操作。

<div class="alert alert-warning fade show">
    <strong>警告提示!</strong> 程序中出现一个语法问题。
    <button type="button" class="close" data-dismiss="alert">
        <span>&times;</span>
    </button>
</div>

js脚本控制警告框

<body class="container">
<div class="alert alert-warning fade show">
    <strong>警告提示!</strong> 程序中出现一个语法问题。
    <button type="button" class="close">
        <span>&times;</span>
    </button>
</div>
</body>
<script>
    $(function(){
        //// 关闭警告框脚本
        $(".close").click(function(){
            $(".alert").alert("close")
        })
    })
</script>

2. 添加用户行为

Bootstrap4为警告框提供了两个事件,说明如下:
 close.bs.alert:当close函数被调用之后,此事件被立即触发。
 closed.bs.alert:当警告框被关闭以后,此事件被触发。
下列是一个警告框绑定模态框,当关闭警告框之前,将弹出一个模态框进行提示

div class="modal" id="Modal-test">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="modalTitle">提示</h5>
                <button type="button" class="close" data-dismiss="modal">
                    <span>&times;</span>
                </button>
            </div>
            <div class="modal-body">你确定要关闭警告框吗?</div>
            <div class="modal-footer">
                <button type="button" class="btn btn-primary" data-dismiss="modal">是</button>
                <button type="button" class="btn btn-secondary" data-dismiss="modal">否</button>
            </div>
        </div>
    </div>
</div>
</body>
<script>
    $(function(){
        $(".close").click(function(){
            $(this).alert("close")
        })
        $(".alert").on("close.bs.alert",function(e){
            $("#Modal-test").modal();
        })
    })
</script>

下拉菜单

1. 调用下拉菜单

下拉菜单插件可以为所有对象添加下拉菜单,包括按钮、导航栏、标签页等。调用下拉菜单有以下两种方法。
1.Data属性调用
在超链接或者按钮上添加data-toggle="dropdown"属性,即可激活下拉菜单交互行为。

<div class="dropdown">
    <button class="btn btn-primary dropdown-toggle" data-toggle="dropdown" type="button">
        下拉菜单
    </button>
    <div class="dropdown-menu">
        <a class="dropdown-item" href="#">菜单项1</a>
        <a class="dropdown-item" href="#">菜单项2</a>
        <a class="dropdown-item" href="#">菜单项3</a>
    </div>
</div>

2.JavaScript调用
使用dropdown()构造函数可直接调用下拉菜单。

<div class="dropdown">
    <button class="btn btn-primary dropdown-toggle" type="button">
        下拉菜单
    </button>
    <div class="dropdown-menu">
        <a class="dropdown-item" href="#">菜单项1</a>
        <a class="dropdown-item" href="#">菜单项2</a>
        <a class="dropdown-item" href="#">菜单项3</a>
    </div>
</div>
<script>
    $(function(){
        $(".btn").dropdown();
    })
</script>

3.配置参数
可以通过data属性或JavaScript传递配置参数,参数如表11-1所示。对于data属性,参数名称追加到“data-”后面,例如:data-offset=""。

参数 类型 默认值 说明
offset number string function
flip boolean True 允许下拉菜单在引用元素重叠的情况下翻转。
<div class="dropdown">
    <button class="btn btn-primary dropdown-toggle" data-toggle="dropdown" data-offset="50,30" type="button">
        下拉菜单
    </button>
    <div class="dropdown-menu">
        <a class="dropdown-item" href="#">菜单项1</a>
        <a class="dropdown-item" href="#">菜单项2</a>
        <a class="dropdown-item" href="#">菜单项3</a>
    </div>
</div>

2. 添加用户行为

事件 描述
show.bs.dropdown 调用显示下拉菜单的方法时触发该事件
shown.bs.dropdown 当下拉菜单显示完毕后触发该事件
hide.bs.dropdown 当调用隐藏下拉菜单的方法时会触发该事件
hidden.bs.dropdown 当下拉菜单隐藏完毕后触发该事件
<div class="dropdown" id="dropdown">
    <button class="btn btn-primary dropdown-toggle" data-toggle="dropdown" type="button">
        下拉菜单
    </button>
    <div class="dropdown-menu">
        <a class="dropdown-item" href="#">菜单项1</a>
        <a class="dropdown-item" href="#">菜单项2</a>
        <a class="dropdown-item" href="#">菜单项3</a>
    </div>
</div>
</body>
<script>
    $(function(){
        $("#dropdown").on("show.bs.dropdown",function(){
            $(this).children("[data-toggle='dropdown']").html("开始显示下拉菜单")
        })
        $("#dropdown").on("shown.bs.dropdown",function(){
            $(this).children("[data-toggle='dropdown']").html("下拉菜单显示完成")
        })
        $("#dropdown").on("hide.bs.dropdown",function(){
            $(this).children("[data-toggle='dropdown']").html("开始隐藏下拉菜单")
        })
        $("#dropdown").on("hidden.bs.dropdown",function(){
            $(this).children("[data-toggle='dropdown']").html("下拉菜单隐藏完成")
        })
    })
</script>

模态框(不懂)

1. 定义模态框

模态框是一个多用途的JavaScript弹出窗口,可以使用它在网站中显示警告窗口、视频和图片。
在使用模态框插件时,注意以下几点:
 弹出模态框是用HTML、CSS和JavaScript构建的,模态框被激活时位于其它表现元素之上,并从中删除滚动事件,以便模态框自身的内容能得到滚动。
 点击模态框的灰背景区域,将自动关闭模块框。
一次只支持一个模态窗口,不支持嵌套。
模态框内容包括三个部分:头部、正文和页脚,分别使用.modal-header、.modal-body和.modal-footer定义。
设计完成模态框结构后,需要为特定对象(通常使用按钮)绑定触发行为,才能通过该对象触发模态框。在这个特定对象中需要添加data-target="#Modal-test"属性来绑定对应的模态框,添加data-toggle="modal"属性指定要打开的模态框。

<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#Modal-test">
    打开模态框
</button>

模态框的完整结构

<div class="modal fade" id="Modal">
    <div class="modal-dialog modal-dialog-centered">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="modalTitle">模态框标题</h5>
                <button type="button" class="close" data-dismiss="modal">
                    <span>&times;</span>
                </button>
            </div>
            <div class="modal-body">模态框正文</div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
                <button type="button" class="btn btn-primary">提交</button>
            </div>
        </div>
    </div>
</div>

2. 模态框布局和样式

1.垂直居中
通过给

努力拼搏吧,不要害怕,不要去规划,不要迷茫。但你一定要在路上一直的走下去,尽管可能停滞不前,但也要走。
原文地址:https://www.cnblogs.com/wkhzwmr/p/15114590.html