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 相关文章推荐
javascript支持firefox,ie7页面布局拖拽效果代码
Dec 20 Javascript
jQuery实现感应鼠标动画效果自动伸长的输入框实例
Feb 24 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
Jun 22 Javascript
js实现无限级树形导航列表效果代码
Sep 23 Javascript
canvas绘图不清晰的解决方案
Feb 28 Javascript
Javascript(es2016) import和require用法和区别详解
Aug 11 Javascript
EasyUI在Panel上动态添加LinkButton按钮
Aug 11 Javascript
jquery动态添加以及遍历option并获取特定样式名称的option方法
Jan 29 jQuery
如何在Vue.js中实现标签页组件详解
Jan 02 Javascript
RxJS的入门指引和初步应用
Jun 15 Javascript
vue-cli点击实现全屏功能
Mar 07 Javascript
javascript实现固定侧边栏
Feb 09 Javascript
详解使用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对表单提交特殊字符的过滤和处理方法汇总
2014/02/18 PHP
php常用字符串比较函数实例汇总
2014/11/24 PHP
如何使用Gitblog和Markdown建自己的博客
2015/07/31 PHP
PHP 7的一些引人注目的新特性简单介绍
2015/11/08 PHP
WordPress中获取所使用的模板的页面ID的简单方法
2015/12/31 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
同一页面多个商品倒计时JS 基于面向对象的javascript
2012/02/16 Javascript
顶部缓冲下拉菜单导航特效的JS代码
2013/08/27 Javascript
Javascript基础教程之数据类型转换
2015/01/18 Javascript
js+html5实现canvas绘制椭圆形图案的方法
2016/05/21 Javascript
bootstrapfileinput实现文件自动上传
2016/11/08 Javascript
EasyUI学习之Combobox下拉列表(1)
2016/12/29 Javascript
js实现文字向上轮播功能
2017/01/13 Javascript
Vue中消息横向滚动时setInterval清不掉的问题及解决方法
2019/08/23 Javascript
vue 实现input表单元素的disabled示例
2019/10/28 Javascript
Vue props中Object和Array设置默认值操作
2020/07/30 Javascript
如何手写简易的 Vue Router
2020/10/10 Javascript
Vue与React的区别和优势对比
2020/12/18 Vue.js
[55:35]VGJ.S vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
django2+uwsgi+nginx上线部署到服务器Ubuntu16.04
2018/06/26 Python
解决Python print输出不换行没空格的问题
2018/11/14 Python
python实现根据文件关键字进行切分为多个文件的示例
2018/12/10 Python
Python按钮的响应事件详解
2019/03/04 Python
Python 日志logging模块用法简单示例
2019/10/18 Python
Python实现寻找回文数字过程解析
2020/06/09 Python
python切割图片的示例
2020/11/12 Python
基于css3 animate制作绚丽的动画效果
2015/11/24 HTML / CSS
创建市级文明单位实施方案
2014/03/01 职场文书
书香家庭事迹材料
2014/05/09 职场文书
我的中国梦演讲稿高中篇
2014/08/19 职场文书
无财产无子女离婚协议书范文
2014/09/14 职场文书
诉讼授权委托书
2014/10/15 职场文书
2015年清剿火患专项行动工作总结
2015/07/27 职场文书
乡镇团代会开幕词
2016/03/04 职场文书
详解PHP服务器如何在有限的资源里最大提升并发能力
2021/05/25 PHP
mysql 联合索引生效的条件及索引失效的条件
2021/11/20 MySQL