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 相关文章推荐
javascript入门基础之私有变量
Feb 23 Javascript
javascript 跨浏览器开发经验总结(五) js 事件
May 19 Javascript
Javascript模块化编程(一)AMD规范(规范使用模块)
Jan 17 Javascript
javascript自动给文本url地址增加链接的方法分享
Jan 20 Javascript
字段太多jquey快速清空表单内容方法
Aug 21 Javascript
jQuery.prop() 使用详解
Jul 19 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(一)
Feb 16 Javascript
JavaScript编写九九乘法表(两种任选)
Feb 04 Javascript
使用angular帮你实现拖拽的示例
Jul 05 Javascript
BootStrap 标题设置跨行无效的解决方法
Oct 25 Javascript
JavaScript find()方法及返回数据实例
Apr 30 Javascript
解决iView Table组件宽度只变大不变小的问题
Nov 13 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中的串行化变量和序列化对象
2006/09/05 PHP
PHP之数组学习
2011/05/29 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
2015/12/19 PHP
PHP编写学校网站上新生注册登陆程序的实例分享
2016/03/21 PHP
PHP数据库操作Helper类完整实例
2016/05/11 PHP
PHP新特性详解之命名空间、性状与生成器
2017/07/18 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
PHP工厂模式简单实现方法示例
2018/05/23 PHP
PHP5.5基于mysqli连接MySQL数据库和读取数据操作实例详解
2019/02/16 PHP
PHP的imageTtfText()函数深入详解
2021/03/03 PHP
用javascript动态调整iframe高度的代码
2007/04/10 Javascript
简单几行JS Code实现IE邮件转发新浪微博
2013/07/03 Javascript
通过JQuery实现win8一样酷炫的动态磁贴效果(示例代码)
2013/07/13 Javascript
JQuery验证jsp页面属性是否为空(实例代码)
2013/11/08 Javascript
浅谈Javascript中匀速运动的停止条件
2014/12/19 Javascript
分享JavaScript监听全部Ajax请求事件的方法
2016/08/28 Javascript
bootstrap——bootstrapTable实现隐藏列的示例
2017/01/14 Javascript
深入理解React高阶组件
2017/09/28 Javascript
jQuery实现点击下拉框中的值累加到文本框中的方法示例
2017/10/28 jQuery
使用Nuxt.js改造已有项目的方法
2018/08/07 Javascript
优化Vue项目编译文件大小的方法步骤
2019/05/27 Javascript
Vue 实现拨打电话操作
2020/11/16 Javascript
Python生成器以及应用实例解析
2018/02/08 Python
python中(str,list,tuple)基础知识汇总
2018/02/20 Python
Python 比较文本相似性的方法(difflib,Levenshtein)
2018/10/15 Python
Python 给下载文件显示进度条和下载时间的实现
2020/04/02 Python
详解python tkinter 图片插入问题
2020/09/03 Python
Python paramiko使用方法代码汇总
2020/11/20 Python
HTML5本地存储localStorage、sessionStorage基本用法、遍历操作、异常处理等
2014/05/08 HTML / CSS
公共事业管理本科生求职信
2013/10/07 职场文书
写给老师的表扬信
2014/01/21 职场文书
机械机修工岗位职责
2014/08/03 职场文书
学校党委干部个人对照检查材料思想汇报
2014/10/09 职场文书
2015年计生工作总结范文
2015/04/24 职场文书
因个人原因离职的辞职信范文
2015/05/12 职场文书
MySQL Innodb索引机制详细介绍
2021/11/23 MySQL