Bootstrap模态框插件使用详解


Posted in Javascript onMay 11, 2017

本文主要学习Bootstrap 中的模态框插件,这是一款交互式网站非常常见的弹窗功能插件。

1.基本使用

使用模态框的弹窗组件需要三层 div 容器元素,分别为 modal(模态声明层)、dialog(窗口声明层)、content(内容层)。在内容层里面,还有三层,分别为 header(头部)、body(主体)、footer(注脚)。

结合具体演示来理解如下内容:

<!-- 模态框的声明 class="modal show" 显示模态框 fade淡入淡出效果-->
 <div class="modal fade" id="myModal" tabindex="-1"> <!-- id:设置id定位, tabindex: 设置取消 -->
  <!-- 模态框窗口的声明 -->
  <div class="modal-dialog modal-lg"> <!-- modal-lg,sm 设置模态框大小 -->
   <!-- 内容声明 -->
   <div class="modal-content">
    <!-- 模态框头部 -->
    <div class="modal-header">
     <!-- 关闭按钮(在没有show的情况下才能关闭) -->
     <button class="close" data-dismiss="modal"><span>×</span></button> 
     <h4 class="modal-title">会员登录</h4>
    </div>
    <!-- 模态框主体 -->
    <div class="modal-body">
     <!-- <p>暂时无法服务</p> -->
     <!-- 在主体部分使用栅格系统中的流体 -->
     <div class="container-fluid">
      <div class="row">
       <div class="col-sm-4">1</div>
       <div class="col-sm-4">2</div>
       <div class="col-sm-4">3</div>
      </div>
     </div>
    </div>
    <!-- 模态框注脚(默认居右)-->
    <div class="modal-footer">
     <button class="btn btn-default">注册</button>
     <button class="btn btn-primary">登录</button>
    </div>
   </div>
  </div>
 </div>

 <!-- 点击触发模态框 data-toggle:表明点击是一个模态框的弹窗类型,
  data-target:定位到指定的模态框节点data-target可以换成href
  -->
  <button class="btn btn-primary" data-toggle="modal" data-target="#myModal">点击弹窗</button>

 <!--使用插件其它方法时的设置-->
 <!-- <button class="btn btn-primary" id="btn" > -->

2.插件的用法

所有的插件,都是基于JavaScript/jQuery 的。

有四个要素:用法、参数、方法和事件。

1. 用法

第一种:可以通过 data 属性

data-toggle="modal" data-target="#myModal"

data-toggle 表示触发类型

data-target 表示触发的节点

如果不是使用<button>,而是<a>,其中 data-target 也可以使用 href=”#myModal”取代。建议使用 data-target。

除了 data-toggle 和 data-target 两个声明属性外,还有一些可以用选项。

2. 参数

可以通过在 HTML 元素上设置 data-*的属性声明来控制效果。

Bootstrap模态框插件使用详解

空白背景且点击不关闭 : data-backdrop=”false”

按下 esc 不关闭 : data-keyboard=”false”

初始化隐藏,如果是按钮点击触发,第一次点击则无法显示,第二次显示 : data-show=”false”

加载一次 index.html 到容器内 : href=”index.html”

也可以在 JavaScript 直接设置

Bootstrap模态框插件使用详解

//通过 jQuery 方式声明

$('#myModal').modal({
 show : true,
 backdrop : false,
 keyboard : false,
 remote : 'index.html',
});

3. 方法

如果默认不显示弹窗,通过点击前后弹窗的实现

Bootstrap模态框插件使用详解

//点击显示弹窗

$('#btn').on('click', function () {
 $('#myModal').modal('show');
});

4. 事件

模态框支持 4 种时间,分别对应弹出前、弹出后、关闭前和关闭后。

Bootstrap模态框插件使用详解

$('#myModal').on('show.bs.modal', function () {
 alert('在 show 方法调用时立即触发!');
});

$('#myModal').on('shown.bs.modal', function () {
 alert('在模态框显示完毕后触发!');
});

$('#myModal').on('hide.bs.modal', function () {
 alert('在 hide 方法调用时立即触发!');
});

$('#myModal').on('hiden.bs.modal', function () {
 alert('在模态框显示完毕后触发!');
});

$('#myModal').on('loaded.bs.modal', function () {
 alert('远程数据加载完毕后触发!');
});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
重定向实现代码
Nov 20 Javascript
Maps Javascript
Jan 22 Javascript
23个超流行的jQuery相册插件整理分享
Apr 25 Javascript
showModalDialog在谷歌浏览器下会返回Null的解决方法
Nov 27 Javascript
javascript 中that的含义示例介绍
May 14 Javascript
基于jquery实现图片相关操作(重绘、获取尺寸、调整大小、缩放)
Dec 25 Javascript
jquery ajax分页插件的简单实现
Jan 27 Javascript
基于jquery实现图片放大功能
May 07 Javascript
D3.js实现柱状图的方法详解
Sep 21 Javascript
利用JS实现scroll自定义滚动效果详解
Oct 17 Javascript
10个最受欢迎的 JavaScript框架(推荐)
Apr 24 Javascript
vue设置导航栏、侧边栏为公共页面的例子
Nov 01 Javascript
canvas实现弧形可拖动进度条效果
May 11 #Javascript
es6学习笔记之Async函数的使用示例
May 11 #Javascript
Node.js安装配置图文教程
May 10 #Javascript
使用bootstrap插件实现模态框效果
May 10 #Javascript
详解Vue用axios发送post请求自动set cookie
May 10 #Javascript
Node.js 异步异常的处理与domain模块解析
May 10 #Javascript
基于Node的React图片上传组件实现实例代码
May 10 #Javascript
You might like
PHP时间戳与日期之间转换的实例介绍
2013/04/19 PHP
php使用socket post数据到其它web服务器的方法
2015/06/02 PHP
php创建桌面快捷方式实现方法
2015/12/31 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
js调用flash的效果代码
2008/04/26 Javascript
用函数模板,写一个简单高效的 JSON 查询器的方法介绍
2013/04/17 Javascript
javascript读写json示例
2014/04/11 Javascript
js实现网页右上角滑出会自动消失大幅广告的方法
2015/02/27 Javascript
浅析在javascript中创建对象的各种模式
2016/05/06 Javascript
半个小时学json(json传递示例)
2016/12/25 Javascript
详解Angular 4 表单快速入门
2017/06/05 Javascript
js 简易版滚动条实例(适用于移动端H5开发)
2017/06/26 Javascript
详解如何使用PM2将Node.js的集群变得更加容易
2017/11/15 Javascript
详解如何提升JSON.stringify()的性能
2019/06/12 Javascript
使用webpack将ES6转化ES5的实现方法
2019/10/13 Javascript
vue自动添加浏览器兼容前后缀操作
2020/08/13 Javascript
Linux下将Python的Django项目部署到Apache服务器
2015/12/24 Python
解决matplotlib库show()方法不显示图片的问题
2018/05/24 Python
python使用matplotlib画饼状图
2018/09/25 Python
在pycharm中使用git版本管理以及同步github的方法
2019/01/16 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
2019/05/16 Python
对Pytorch中Tensor的各种池化操作解析
2020/01/03 Python
在pytorch中对非叶节点的变量计算梯度实例
2020/01/10 Python
postman和python mock测试过程图解
2020/02/22 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
2020/12/27 Python
Python字符串的15个基本操作(小结)
2021/02/03 Python
海蓝之谜(LA MER)澳大利亚官方商城:全球高端奢华护肤品牌
2017/10/27 全球购物
介绍一下linux文件系统分配策略
2012/11/17 面试题
尽职尽责村干部自我鉴定
2014/01/23 职场文书
高二地理教学反思
2014/01/24 职场文书
勾股定理课后反思
2014/04/26 职场文书
高中美术教师事迹材料
2014/08/22 职场文书
《包身工》教学反思
2016/02/23 职场文书
毕业季聚会祝酒词!
2019/07/04 职场文书
优胜劣汰,强者为王——读《鲁滨逊漂流记》有感
2019/08/15 职场文书
Python实现聚类K-means算法详解
2022/07/15 Python