浅析BootStrap中Modal(模态框)使用心得


Posted in Javascript onDecember 24, 2016

BootStrap中Modal(模态框)描述

Bootstrap Modals(模态框)是使用定制的 Jquery 插件创建的。它可以用来创建模态窗口丰富用户体验,或者为用户添加实用功能。您可以在 Modals(模态框)中使用 Popover(弹出框)和 Tooltip(工具提示插件)。

一、modal使用:

1.1、登录bootstrap官网,点击下载Bootstrap

1.2、导入对应的样式文件css

1.3、导入对应的js,需要导入bootstrap.js或者bootstrap.min.js文件,bootstrap的前提是jQuery,所以我们要在导入bootstrap.js前面导入jquery.min.js

对应导入代码:

<!--导入样式-->
<link href="Bootstrap/css/bootstrap-theme.css" rel="stylesheet"/>
<link href="Bootstrap/css/bootstrap-theme.min.css" rel="stylesheet" />
<link href="Bootstrap/css/bootstrap.css" rel="stylesheet"/>
<link href="Bootstrap/css/bootstrap.min.css" rel="stylesheet"/>
<!--导入bootstrap.js包-->
<script src="jquery/jquery-3.1.1.min.js"></script>
<script src="Bootstrap/js/bootstrap.min.js"></script>

1.4、从官网找到一个案例使用:

<h2>创建模态框(Modal)</h2>
<!-- 按钮触发模态框 -->
<button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">开始演示模态框</button>
<!-- 模态框(Modal) -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
        <h4 class="modal-title" id="myModalLabel">模态框(Modal)标题</h4>
      </div>
      <div class="modal-body">在这里添加一些文本</div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
        <button type="button" class="btn btn-primary">提交更改</button>
      </div>
    </div><!-- /.modal-content -->
  </div><!-- /.modal -->
</div>

二、modal打开:

2.1、静态打开:通过data属性打开隐藏模态框

设置按钮button的data-toggle:"modal"(以模态框的形式打开),data-target:"#myModal"(设置为modal的id)

2.2、动态打开:以jquery代码为例

$("#myModal").modal({
remote:"test/test.jsp";//可以填写一个url,会调用jquery load方法加载数据
backdrop:"static";//指定一个静态背景,当用户点击背景处,modal界面不会消失
keyboard:true;//当按下esc键时,modal框消失
})

remote处可以填写jsp路径或者html路径,用来给modal框注入内容

2.3、动态打开事件:

在modal框加载同时,提供几个方法用来控制modal框

$("#myModal").on("loaded.bs.modal",function{
//在模态框加载的同时做一些动作
});
$("#myModal").on("show.bs.modal",function{
//在show方法后调用
});
$("#myModal").on("shown.bs.modal",function{
//在模态框完全展示出来做一些动作
});
$("#myModal").on("hide.bs.modal",function{
//hide方法后调用
});
$("#myModal").on("hiden.bs.modal",function{
//监听模态框隐藏事件做一些动作
});

2.4、解决remote只加载一次问题:

我们在使用js动态打开modal框使用remote请求数据,只会加载一次数据,所以我们需要在每次打开modal框钱移除节点数据。

解决方案:

$("#myModal").on("hiden.bs.modal",function{
$(this).removeData("bs.modal");
});

2.5、解决事件监听多次:

第一次打开modal框正常,第二次,第三次,第n次打开就有可能会出现事件监听多次的奇怪问题(尤其是多个modal窗口叠加,出现这种问题的几率更高,我大致判断有可能是组件bug),所以无奈之举的办法,只适合应急使用:就是强行让他只调用监听一次

int count = 0 ;
$("#myModal").on("loaded.bs.modal",function{
if(++count == 1){
//调用你需要的方法
}
//在模态框加载的同时做一些动作
});

总结:modal框是个很好用的组件,不过官方文档提醒最好不要多个modal叠加很容易出现很难解决的前端组件问题。

以上所述是小编给大家介绍的浅析BootStrap中Modal(模态框)使用心得,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript的函数
Jan 31 Javascript
javascript getElementsByName()的用法说明
Jul 31 Javascript
解析JavaScript中点号“.”的多义性
Dec 02 Javascript
JS设置cookie、读取cookie、删除cookie
Apr 17 Javascript
使用CoffeeScrip优美方式编写javascript代码
Oct 28 Javascript
JS中生成随机数的用法及相关函数
Jan 09 Javascript
一篇文章掌握RequireJS常用知识
Jan 26 Javascript
微信小程序 地图(map)实例详解
Nov 16 Javascript
js获取ip和地区
Mar 10 Javascript
JavaScript实现读取与输出XML文件数据的方法示例
Jun 05 Javascript
React如何实现浏览器打印部分内容详析
May 19 Javascript
javascript中正则表达式语法详解
Aug 07 Javascript
纯JS实现表单验证实例
Dec 24 #Javascript
jQuery实现加入收藏夹功能(主流浏览器兼职)
Dec 24 #Javascript
JS绘制微信小程序画布时钟
Dec 24 #Javascript
jQuery弹出窗口打开链接的实现代码
Dec 24 #Javascript
DropDownList控件绑定数据源的三种方法
Dec 24 #Javascript
Bootstrap源码学习笔记之bootstrap进度条
Dec 24 #Javascript
js addDqmForPP给标签内属性值加上双引号的函数
Dec 24 #Javascript
You might like
Windows PHP5和Apache的安装与配置
2009/06/08 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
2014/06/30 PHP
php实现读取手机客户端浏览器的类
2015/01/09 PHP
PHP实现基于3DES算法加密解密字符串示例
2018/08/24 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
2019/10/16 PHP
JavaScript开发规范要求(规范化代码)
2010/08/16 Javascript
js最简单的拖拽效果实现代码
2010/09/24 Javascript
初窥JQuery(二) 事件机制(1)
2010/11/25 Javascript
JavaScript去掉数组中的重复元素
2011/01/13 Javascript
Bootstrap的图片轮播示例代码
2015/08/31 Javascript
Javascript闭包与函数柯里化浅析
2016/06/22 Javascript
关于数据与后端进行交流匹配(点亮星星)
2016/08/03 Javascript
JavaScript中const、var和let区别浅析
2016/10/11 Javascript
AngularJS 控制器 controller的详解
2017/10/17 Javascript
Node之简单的前后端交互(实例讲解)
2017/11/14 Javascript
谈谈JavaScript中super(props)的重要性
2019/02/12 Javascript
自定义Vue组件打包、发布到npm及使用教程
2019/05/22 Javascript
在Python中利用Pandas库处理大数据的简单介绍
2015/04/07 Python
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
值得收藏,Python 开发中的高级技巧
2018/11/23 Python
简单了解python高阶函数map/reduce
2019/06/28 Python
python利用递归方法实现求集合的幂集
2020/09/07 Python
html5 制作地图当前定位箭头的方法示例
2020/01/10 HTML / CSS
XD健身器材:Kevlar球、Crossfit健身球
2019/03/26 全球购物
幼儿如何来做好自我评价
2013/11/05 职场文书
上班睡觉检讨书
2014/01/09 职场文书
大学生自我鉴定评语
2014/01/27 职场文书
大学考试作弊检讨书
2014/01/30 职场文书
前处理班长职位说明书
2014/03/01 职场文书
《青海高原一株柳》教学反思
2014/04/25 职场文书
植树节口号
2014/06/21 职场文书
追讨欠款律师函
2015/06/24 职场文书
新年祝酒词大全
2015/08/11 职场文书
《乙女游戏世界对路人角色很不友好》OP主题曲无字幕动画MV公开
2022/04/05 日漫
Java虚拟机内存结构及编码实战分享
2022/04/07 Java/Android
我家女友可不止可爱呢 公开OP主题曲无字幕动画MV
2022/04/11 日漫