BootStrap的两种模态框方式


Posted in Javascript onMay 10, 2017

bootstrap的弹出层

bootstrap弹出层有多种触发方式,以下是我用到的几种方式:

1.方法一:button中属性触发

注意:button中的data-target内容应该和要和弹出层中的id保持一致

data-target=”#mymodal-data”——? id=”mymodal-data”
<!--在button上绑定触发弹出层的属性-->
 <button class="btn btn-primary delete" data-toggle="modal"
     data-target="#mymodal-data" data-whatever="@mdo">
      修改
</button>
<!-- 模态弹出窗内容 -->
<div class="modal" id="mymodal-data" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">
          <span aria-hidden="true">×</span>
          <span class="sr-only">Close</span>
        </button>
        <h4 class="modal-title">弹出层标题</h4>
      </div>
      <div class="modal-body">
        <p>弹出层主体内容</p>
      </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>
  </div>
</div>

结果:

BootStrap的两种模态框方式

2.方法二:通过js绑定

注意:将button的id和弹出层的id分别赋给 $m_btn和$modal,当$m_btn被点击后$modal弹出。

<button class="btn btn-info" type="button" id="y-modalBtnAdd" > <label >添加</label></button>
<!-- 模态弹出窗内容 -->
<div class="modal" id="y-myModalAdd" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">
          <span aria-hidden="true">×</span>
          <span class="sr-only">Close</span>
        </button>
        <h4 class="modal-title">弹出层标题</h4>
      </div>
      <div class="modal-body">
        <p>通过js绑定button和弹出层触发</p>
      </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>
  </div>
</div>
<!--js代码-->
<script type="text/javascript">
  $(function(){
    // dom加载完毕
    var $m_btn = $('#y-modalBtnAdd');  //y-modalBtnAdd是button的id
    var $modal = $('#y-myModalAdd');  //y-myModalAdd是弹出的遮罩层的id,通过这两个id进行绑定
    $m_btn.on('click', function(){
      $modal.modal({backdrop: 'static'});
    });
  });
 </script>

结果:

BootStrap的两种模态框方式

3.方法三:点击表格一行,弹出弹出层

动态给tr标签加弹出的触发属性

<!--表格-->
<table class="table table-bordered " style="width: 400px">
  <thead>
    <tr>
      <th>一</th>
      <th>二</th>
      <th>三</th>
    </tr>
  </thead>
  <tbody class="tableBody">
    <tr>
      <td>one</td>
      <td>two</td>
      <td>three</td>
    </tr>
    <tr>
      <td>four</td>
      <td>five</td>
      <td>six</td>
    </tr>
  </tbody>
</table>
<!-- 模态弹出窗内容 -->
<div class="modal" id="mymodal-data" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">
          <span aria-hidden="true">×</span>
          <span class="sr-only">Close</span>
        </button>
        <h4 class="modal-title">弹出层标题</h4>
      </div>
      <div class="modal-body">
        <p>点击表格一行内容,弹出弹出层</p>
      </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>
  </div>
</div>
<!--js代码-->
<script type="text/javascript">
  $(function () {
    $(".tableBody>tr").each(function () {
      $(this).on("click",function () {
        $(this).attr({"data-toggle":"modal","data-target":"#mymodal-data","data-whatever":"@mdo"});
      })
    });
  });
</script>

BootStrap的两种模态框方式 

结果:

BootStrap的两种模态框方式

bootstrap的弹出层在整个屏幕的上半部分,可以将它居中显示。(方法二可以让弹出层居中显示)

$(function(){
    // dom加载完毕
    var $m_btn = $('#y-modalBtnAdd');  y-modalBtnAdd是button的id
    var $modal = $('#y-myModalAdd');  y-myModalAdd是弹出的遮罩层的id,通过这两个id进行绑定 
    // 测试 bootstrap 居中  ,bootstrap的弹出层默认是左右居中,上下则是偏上,此代码将弹出层上下也居中了,但是会抖
            动一下
    $modal.on('shown.bs.modal', function(){
      var $this = $(this);
      var $modal_dialog = $this.find('.modal-dialog');
      var m_top = ( $(document).height() - $modal_dialog.height() )/2;
      $modal_dialog.css({'margin': m_top + 'px auto'});
    });
  });
</script>

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

Javascript 相关文章推荐
javascript背投广告代码的完善
Apr 08 Javascript
JavaScript 32位整型无符号操作示例
Dec 08 Javascript
javascript中不提供sleep功能如何实现这个功能
May 27 Javascript
使用JavaScript 编写简单计算器
Nov 24 Javascript
JavaScript更改字符串的大小写
May 07 Javascript
jquery获取当前元素索引值用法实例
Jun 10 Javascript
JavaScript学习笔记之数组求和方法
Mar 23 Javascript
jquery插件bootstrapValidator数据验证详解
Nov 09 Javascript
JS实现的DIV块来回滚动效果示例
Feb 07 Javascript
js中null与空字符串&quot;&quot;的区别讲解
Jan 17 Javascript
iview tabs 顶部导航栏和模块切换栏的示例代码
Mar 04 Javascript
浅谈JavaScript中的“!!”作用
Aug 03 Javascript
微信小程序之购物车功能
Sep 23 #Javascript
js canvas实现QQ拨打电话特效
May 10 #Javascript
bootstrap弹出层的多种触发方式
May 10 #Javascript
详解使用vue脚手架工具搭建vue-webpack项目
May 10 #Javascript
微信小程序 支付后台java实现实例
May 09 #Javascript
使用 Vue.js 仿百度搜索框的实例代码
May 09 #Javascript
详解如何将angular-ui的图片轮播组件封装成一个指令
May 09 #Javascript
You might like
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/03/02 无线电
php调整gif动画图片尺寸示例代码分享
2013/12/05 PHP
PHP将回调函数作用到给定数组单元的方法
2014/08/19 PHP
PHP通过插入mysql数据来实现多机互锁实例
2014/11/05 PHP
php基于Snoopy解析网页html的方法
2015/07/09 PHP
兼容Mozilla必须知道的知识。
2007/01/09 Javascript
一个不错的用JavaScript实现的UBB编码函数
2007/03/09 Javascript
jQuery入门问答 整理的几个常见的初学者问题
2010/02/22 Javascript
你需要知道的10个最佳javascript开发实践小结
2012/04/15 Javascript
了解一点js的Eval函数
2012/07/26 Javascript
js切换光标示例代码
2013/10/10 Javascript
基于javascript实现图片滑动效果
2016/05/07 Javascript
Vue底层实现原理总结
2018/02/17 Javascript
深入理解 JS 垃圾回收
2019/06/03 Javascript
微信小程序iOS下拉白屏晃动问题解决方案
2019/10/12 Javascript
es6中new.target的作用和使用场景简单示例分析
2020/03/14 Javascript
如何在Express4.x中愉快地使用async的方法
2020/11/18 Javascript
[54:27]TNC vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python使用 HTMLTestRunner.py生成测试报告
2017/10/20 Python
根据tensor的名字获取变量的值方式
2020/01/04 Python
python实现3D地图可视化
2020/03/25 Python
美国电子产品主要品牌的授权在线零售商:DataVision
2019/03/23 全球购物
Regatta官网:英国最受欢迎的户外服装和鞋类品牌
2019/05/01 全球购物
阿德的梦教学反思
2014/02/06 职场文书
生物制药专业自我鉴定
2014/02/19 职场文书
创业者迈进成功第一步:如何写创业计划书?
2014/03/22 职场文书
协议书样本
2014/04/23 职场文书
2015年秋季新学期寄语
2015/03/25 职场文书
妈妈再爱我一次观后感
2015/06/08 职场文书
2019年描写人生经典诗句大全
2019/07/08 职场文书
导游词之海南天涯海角
2019/12/05 职场文书
vue前端工程的搭建
2021/03/31 Vue.js
Python合并多张图片成PDF
2021/06/09 Python
SQL优化老出错,那是你没弄明白MySQL解释计划用法
2021/11/27 MySQL
《巫师》是美食游戏?CDPR10月将推出《巫师》官方食谱
2022/04/03 其他游戏
vue报错function () { [native code] },无法出现我们想要的内容 Unknown custom element
2022/04/11 Vue.js