bootstrap弹出层的多种触发方式


Posted in Javascript onMay 10, 2017

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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS链式调用的实现方法
Mar 07 Javascript
可选择和输入的下拉列表框示例
Nov 05 Javascript
不提示直接关闭网页窗口的JS示例代码
Dec 17 Javascript
JavaScript中使用自然对数ln的方法
Jun 14 Javascript
javascript匀速动画和缓冲动画详解
Oct 20 Javascript
基于vue的下拉刷新指令和滚动刷新指令
Dec 23 Javascript
Vue.js 60分钟快速入门教程
Mar 28 Javascript
基于JS递归函数细化认识及实用实例(推荐)
Aug 07 Javascript
JS+canvas绘制的动态机械表动画效果
Sep 12 Javascript
vue cli 全面解析
Feb 28 Javascript
vue打包的时候自动将px转成rem的操作方法
Jun 20 Javascript
详解Vue的异步更新实现原理
Dec 22 Vue.js
详解使用vue脚手架工具搭建vue-webpack项目
May 10 #Javascript
微信小程序 支付后台java实现实例
May 09 #Javascript
使用 Vue.js 仿百度搜索框的实例代码
May 09 #Javascript
详解如何将angular-ui的图片轮播组件封装成一个指令
May 09 #Javascript
使用ES6语法重构React代码详解
May 09 #Javascript
JQuery实现定时刷新功能代码
May 09 #jQuery
React.js中常用的ES6写法总结(推荐)
May 09 #Javascript
You might like
php 使用post,get的一种简洁方式
2010/04/25 PHP
php下网站防IP攻击代码,超级实用
2010/10/24 PHP
php获取$_POST同名参数数组的实现介绍
2013/06/30 PHP
PHP curl 获取响应的状态码的方法
2014/01/13 PHP
Javascript与PHP验证用户输入URL地址是否正确
2014/10/09 PHP
tp5.1 框架数据库高级查询技巧实例总结
2020/05/25 PHP
js切换div css注意的细节
2012/12/10 Javascript
谈谈jQuery Ajax用法详解
2015/11/27 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
2015/12/17 Javascript
js+canvas绘制矩形的方法
2016/01/28 Javascript
jQuery子元素过滤选择器用法示例
2016/09/09 Javascript
Angular2从搭建环境到开发步骤详解
2016/10/17 Javascript
AngularJS入门教程之与服务器(Ajax)交互操作示例【附完整demo源码下载】
2016/11/02 Javascript
微信小程序组件 marquee实例详解
2017/06/23 Javascript
WdatePicker.js时间日期插件的使用方法
2017/07/26 Javascript
详解vue-cli项目中的proxyTable跨域问题小结
2018/02/09 Javascript
vue-cli3.0配置及使用注意事项详解
2018/09/05 Javascript
a标签调用js的方法总结
2019/09/05 Javascript
JS实现简易留言板(节点操作)
2020/03/16 Javascript
Javascript中Math.max和Math.max.apply的区别和用法详解
2020/08/24 Javascript
vue+iview实现分页及查询功能
2020/11/17 Vue.js
python实现linux下抓包并存库功能
2018/07/18 Python
Python 互换字典的键值对实例
2019/02/12 Python
Python计算一个点到所有点的欧式距离实现方法
2019/07/04 Python
简单瞅瞅Python vars()内置函数的实现
2019/09/27 Python
在python tkinter界面中添加按钮的实例
2020/03/04 Python
Python如何定义有可选参数的元类
2020/07/31 Python
详解Python中import机制
2020/09/11 Python
Python实现冒泡排序算法的完整实例
2020/11/04 Python
业务员岗位职责
2013/11/16 职场文书
校园报刊亭创业计划书
2014/01/02 职场文书
自行车租赁公司创业计划书
2014/01/28 职场文书
思想政治表现评语
2015/01/04 职场文书
2016年学习贯彻十八届五中全会精神心得体会
2016/01/05 职场文书
入党申请书格式
2019/06/20 职场文书
Memcached介绍及php-memcache扩展安装
2021/04/01 PHP