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 相关文章推荐
谷歌浏览器 insertCell与appendChild的区别
Feb 12 Javascript
Mootools 1.2教程 类(一)
Sep 15 Javascript
Javascript 设计模式(二) 闭包
May 26 Javascript
JS格式化数字金额用逗号隔开保留两位小数
Oct 18 Javascript
zeroclipboard 单个复制按钮和多个复制按钮的实现方法
Jun 14 Javascript
前端轻量级MVC框架CanJS详解
Sep 26 Javascript
EasyUi datagrid 实现表格分页
Feb 10 Javascript
JavaScript事件 &quot;事件对象&quot;的注意要点
Jan 14 Javascript
JS阻止事件冒泡行为和闭包的方法
Jun 16 Javascript
JavaScript实现form表单的多文件上传
Mar 27 Javascript
原生JS实现的跳一跳小游戏完整实例
Jan 27 Javascript
Vue使用axios出现options请求方法
May 30 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
一个高ai的分页函数和一个url函数
2006/10/09 PHP
PHP中strlen()和mb_strlen()的区别浅析
2014/06/19 PHP
js特效,页面下雪的小例子
2013/06/17 Javascript
javascript中Number对象的toString()方法分析
2014/12/20 Javascript
快速学习jQuery插件 Cookie插件使用方法
2015/12/01 Javascript
jQuery bt气泡实现悬停显示及移开隐藏功能的方法
2016/07/12 Javascript
微信小程序 form组件详解
2016/10/25 Javascript
canvas实现刮刮卡效果
2017/03/14 Javascript
Vue.js教程之axios与网络传输的学习实践
2017/04/29 Javascript
JS实现给json数组动态赋值的方法示例
2020/03/19 Javascript
jQuery Layer弹出层传值到父页面的实现代码
2017/08/17 jQuery
Node.js dgram模块实现UDP通信示例代码
2017/09/26 Javascript
浅谈vue的几种绑定变量的值 防止其改变的方法
2018/03/01 Javascript
使用FormData实现上传多个文件
2018/12/04 Javascript
node.js中ws模块创建服务端和客户端,网页WebSocket客户端
2019/03/06 Javascript
Nuxt项目支持eslint+pritter+typescript的实现
2019/05/20 Javascript
vue2.0 实现富文本编辑器功能
2019/05/26 Javascript
js校验开始时间和结束时间
2020/05/26 Javascript
Python实例之wxpython中Frame使用方法
2014/06/09 Python
插入排序_Python与PHP的实现版(推荐)
2017/05/11 Python
Python数字图像处理之霍夫线变换实现详解
2018/01/12 Python
django 框架实现的用户注册、登录、退出功能示例
2019/11/28 Python
pycharm运行程序时看不到任何结果显示的解决
2020/02/21 Python
使用Python判断一个文件是否被占用的方法教程
2020/12/16 Python
Python 打印自己设计的字体的实例讲解
2021/01/04 Python
利用html5 canvas动态画饼状图的示例代码
2018/04/02 HTML / CSS
Melissa香港官网:MDreams
2016/07/01 全球购物
7 For All Mankind官网:美国加州洛杉矶的高级牛仔服装品牌
2018/12/20 全球购物
异常和异常类的概念
2014/09/12 面试题
毕业研究生的自我鉴定
2013/11/30 职场文书
一岗双责责任书
2014/04/15 职场文书
生产工厂门卫岗位职责
2014/09/26 职场文书
2016年“12.4”法制宣传日活动总结
2016/04/01 职场文书
redis客户端实现高可用读写分离的方式详解
2021/07/04 Redis
关于nginx 实现jira反向代理的问题
2021/09/25 Servers
Linux中文件的基本属性介绍
2022/06/01 Servers