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日期转化为毫秒数“节省20%的效率和和节省9个字符“问题
Mar 01 Javascript
js实现在字符串中提取数字
Nov 05 Javascript
jquery操作cookie插件分享
Jan 14 Javascript
JavaScript中的闭包介绍
Mar 15 Javascript
Bootstrap实现渐变顶部固定自适应导航栏
Aug 27 Javascript
基于JS实现翻书效果的页面切换样式
Feb 16 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
Mar 17 Javascript
详解vuex 中的 state 在组件中如何监听
May 23 Javascript
微信小程序wx.previewImage预览图片实例详解
Dec 07 Javascript
《javascript设计模式》学习笔记七:Javascript面向对象程序设计组合模式详解
Apr 08 Javascript
Nuxt的路由配置和参数传递方式
Nov 06 Javascript
Jquery+javascript实现支付网页数字键盘
Dec 21 jQuery
详解使用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
mac下安装nginx和php
2013/11/04 PHP
ThinkPHP令牌验证实例
2014/06/18 PHP
thinkphp模板赋值与替换实例简述
2014/11/24 PHP
php简单实现无限分类树形列表的方法
2015/03/27 PHP
CodeIgniter中使用Smarty3基本配置
2015/06/29 PHP
php实现当前页面点击下载文件的实例代码
2016/11/16 PHP
jQuery 源码分析笔记(3) Deferred机制
2011/06/19 Javascript
jquery插件推荐浏览器嗅探userAgent
2014/11/09 Javascript
javascript跨域原因以及解决方案分享
2015/04/08 Javascript
在JavaScript中处理时间之getHours()方法的使用
2015/06/10 Javascript
jQuery实现form表单基于ajax无刷新提交方法详解
2015/12/08 Javascript
js关于getImageData跨域问题的解决方法
2016/10/14 Javascript
JavaScript数组去重的几种方法效率测试
2016/10/23 Javascript
Vue2.x中的父子组件相互通信的实现方法
2017/05/02 Javascript
利用Ionic2 + angular4实现一个地区选择组件
2017/07/27 Javascript
利用express启动一个server服务的方法
2017/09/17 Javascript
Node.js中的child_process模块详解
2018/06/08 Javascript
vue-cli脚手架的安装教程图解
2018/09/02 Javascript
[02:22]《新闻直播间》2017年08月14日
2017/08/15 DOTA
简单的Apache+FastCGI+Django配置指南
2015/07/22 Python
Pycharm技巧之代码跳转该如何回退
2017/07/16 Python
python使用opencv读取图片的实例
2017/08/17 Python
利用Python暴力破解zip文件口令的方法详解
2017/12/21 Python
Python3 批量扫描端口的例子
2019/07/25 Python
Python线程条件变量Condition原理解析
2020/01/20 Python
python使用列表的最佳方案
2020/08/12 Python
canvas实现烟花的示例代码
2020/01/16 HTML / CSS
澳大利亚实惠时尚女装商店:Katies
2019/06/16 全球购物
初中同学聚会感言
2014/02/11 职场文书
如何写股份合作协议书
2014/09/11 职场文书
2015新年寄语(一句话)
2014/12/08 职场文书
幼儿教师年度个人总结
2015/02/05 职场文书
农业项目投资意向书
2015/05/09 职场文书
四大名著读书笔记
2015/06/25 职场文书
新年祝酒词大全
2015/08/11 职场文书
Python语法学习之进程的创建与常用方法详解
2022/04/08 Python