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 相关文章推荐
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
Mar 21 Javascript
javascript多种数据类型表格排序代码分析
Sep 11 Javascript
JQuery触发radio或checkbox的change事件
Dec 18 Javascript
jQuery bxCarousel实现图片滚动切换效果示例代码
May 15 Javascript
js识别不同浏览器基于userAgent做判断
Jul 29 Javascript
Jquery弹出层插件ThickBox的使用方法
Dec 09 Javascript
js实现随机抽选效果、随机抽选红色球效果
Jan 13 Javascript
利用transition实现文字上下抖动的效果
Jan 21 Javascript
跨域请求两种方法 jsonp和cors的实现
Nov 11 Javascript
详解Ant Design of React的安装和使用方法
Dec 27 Javascript
小程序转发探索示例
Feb 19 Javascript
JavaScript中的各种宽高属性的实现
May 08 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绘图之在图片上写中文和英文的方法
2015/01/24 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
2015/12/24 PHP
php实现概率性随机抽奖代码
2016/01/02 PHP
Yii框架多语言站点配置方法分析【中文/英文切换站点】
2020/04/07 PHP
PHP实现页面静态化深入讲解
2021/03/04 PHP
js中substr,substring,indexOf,lastIndexOf的用法小结
2013/12/27 Javascript
在JavaScript中操作时间之getMonth()方法的使用
2015/06/10 Javascript
Nodejs学习item【入门手上】
2016/05/05 NodeJs
原生JS实现轮播效果+学前端的感受(防止走火入魔)
2016/08/21 Javascript
JS点击某个图标或按钮弹出文件选择框的实现代码
2016/09/27 Javascript
Bootstrap源码解读网格系统(3)
2016/12/22 Javascript
Vue常用指令V-model用法
2017/03/08 Javascript
React进阶学习之组件的解耦之道
2017/08/07 Javascript
mui框架 页面无法滚动的解决方法(推荐)
2018/01/25 Javascript
vue中Element-ui 输入银行账号每四位加一个空格的实现代码
2018/09/14 Javascript
vue中使用GraphQL的实例代码
2019/11/04 Javascript
python解决方案:WindowsError: [Error 2]
2016/08/28 Python
python队列queue模块详解
2018/04/27 Python
Python3 关于pycharm自动导入包快捷设置的方法
2019/01/16 Python
元组列表字典(莫烦python基础)
2019/04/03 Python
python实现异常信息堆栈输出到日志文件
2019/12/26 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
安装python3.7编译器后如何正确安装opnecv的方法详解
2020/06/16 Python
Python 私有属性和私有方法应用场景分析
2020/06/19 Python
UNDONE手表官网:世界领先的定制手表品牌
2018/11/13 全球购物
英国复古服装购物网站:Collectif
2019/10/30 全球购物
我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
2014/03/30 面试题
党员培训思想汇报
2014/01/07 职场文书
求职意向书范文
2014/04/01 职场文书
美丽家庭事迹材料
2014/05/03 职场文书
公司会议策划方案
2014/05/17 职场文书
因个人原因离职的辞职信范文
2015/05/12 职场文书
2015年度个人教学工作总结
2015/05/20 职场文书
小学生暑假生活总结
2015/07/13 职场文书
初中政治教师教学反思
2016/02/23 职场文书
浅谈Java父子类加载顺序
2021/08/04 Java/Android