扩展bootstrap的modal模态框-动态添加modal框-弹出多个modal框


Posted in Javascript onFebruary 21, 2017

js代码

function initView(_box){ 
  var $p = $(_box || document); 
  $('a[target="dialog"]', $p).each(function(event){ 
    $(this, $p).unbind('click').click(function(event){ 
      openModal(event); 
    }); 
  }); 
} 
$(function(){ 
  initView(); 
}); 
/**关闭modal*/ 
function hideModal(obj){ 
  var modal = $(obj).parents("div.modal"); 
  if(modal.length > 0){ 
    modal.remove(); 
    initView(); 
  } 
} 
/**打开modal*/ 
function openModal(event){ 
// var this = $(this); 
  var $this = $(event.currentTarget); 
  var _url = $this.attr("href"); 
  var _title = $this.attr("title"); 
  var _id; 
  _id = dialog.content(); 
  var options = { 
      backdrop: false, 
      keyboard: true, 
      show: true 
  }; 
  $('#' + _id).modal(options); 
  var modal = $('#' + _id); 
  if(typeof(_title) != "undefined"){ 
     if(modal.find('.modal-title').length <= 0){ 
       var header = dialog.header({title : _title}); 
       $($.parseHTML(header)).appendTo(modal.find(".modal-content")); 
     }else{ 
       modal.find('.modal-title').text(_title); 
     } 
     if(modal.find('.modal-body').length <= 0){ 
       var _body = dialog.body; 
       $($.parseHTML(_body)).appendTo(modal.find(".modal-content")); 
     } 
     modal.find(".modal-body").load(_url, $.proxy(function () { 
       modal.trigger('loaded.bs.modal'); 
       initView(); 
      }, this)); 
   }else{ 
     modal.find(".modal-content").load(_url, $.proxy(function () { 
       modal.trigger('loaded.bs.modal'); 
       initView(); 
      }, this)); 
   } 
  //阻止事件默认行为 
  event.preventDefault(); 
} 
//modal model 
//TO STRAT 
if(!$(window).data("_modal_id")){ 
  $(window).data("_modal_id", 0); 
} 
var dialog = { 
  header : function(options){ 
    var template = '<div class="modal-header">' 
            +  '<button type="button" class="close" aria-label="Close" onclick="hideModal(this);"><span aria-hidden="true">×</span></button>' 
            +  '<h4 class="modal-title">' + options.title + '</h4>' 
            +'</div>'; 
    return template; 
  }, 
  content : function(){ 
    var _modal_id = $(window).data("_modal_id"); 
    var _id = "_modal_id_" + _modal_id; 
    _modal_id ++; 
    $(window).data("_modal_id", _modal_id); 
    var template = '<div class="modal fade" tabindex="-1" role="dialog" id="'+ _id +'">' 
     +  '<div class="modal-dialog modal-lg" role="document" aria-hidden="true">' 
     +   '<div class="modal-content">' 
     +   '</div>' 
     +  '</div>' 
     +'</div>'; 
    $(template).appendTo('body'); 
    initView(); 
    return _id; 
  }, 
  body : '<div class="modal-body"></div>' 
}; 
//TO END

页面代码:

<a href="select.html" rel="external nofollow" id="signId" class="btn btn-info" <span style="background-color: rgb(255, 255, 102);">target="dialog"</span> title="请选择用餐类型">签到</a>

页面上只要在a标签后加上target="dialog",并且提供href外部链接地址就可以弹出modal框

以上所述是小编给大家介绍的扩展bootstrap的modal模态框-动态添加modal框-弹出多个modal框,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js 屏蔽鼠标右键脚本附破解方法
Dec 03 Javascript
锋利的jQuery 要点归纳(二) jQuery中的DOM操作(下)
Mar 23 Javascript
JavaScript中的null和undefined区别介绍
Jan 01 Javascript
javascript变量声明实例分析
Apr 25 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作
Nov 30 Javascript
js 单引号替换成双引号,双引号替换成单引号的实现方法
Feb 16 Javascript
ECMAscript 变量作用域总结概括
Aug 18 Javascript
移动端效果之Swiper详解
Oct 09 Javascript
Vue中使用vue-i18插件实现多语言切换功能
Apr 25 Javascript
解决ng-repeat产生的ng-model中取不到值的问题
Oct 02 Javascript
详解Vue源码之数据的代理访问
Dec 11 Javascript
Node.JS发送http请求批量检查文件中的网页地址、服务是否有效可用
Nov 20 Javascript
layer弹出层中H5播放器全屏出错的解决方法
Feb 21 #Javascript
微信小程序 支付功能开发错误总结
Feb 21 #Javascript
微信小程序 点击控件后选中其它反选实例详解
Feb 21 #Javascript
jquery实现下拉框左右选择功能
Feb 21 #Javascript
jquery实现页面加载效果
Feb 21 #Javascript
vue2.0使用Sortable.js实现的拖拽功能示例
Feb 21 #Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
Feb 21 #Javascript
You might like
使用PHP和XSL stylesheets转换XML文档
2006/10/09 PHP
解析PHP的session过期设置
2013/06/29 PHP
MongoDB在PHP中的常用操作小结
2014/02/20 PHP
php实现用已经过去多长时间的方式显示时间
2015/06/05 PHP
WampServer搭建php环境时遇到的问题汇总
2015/07/23 PHP
PHP sleep()函数, usleep()函数
2016/08/25 PHP
Smarty缓存机制实例详解【三种缓存方式】
2019/07/20 PHP
鼠标焦点离开文本框时验证的js代码
2013/07/19 Javascript
JavaScript中的函数的两种定义方式和函数变量赋值
2014/05/12 Javascript
JQuery控制Radio选中方法分析
2015/05/29 Javascript
jQuery链式操作实例分析
2015/11/16 Javascript
Bootstrap框架动态生成Web页面文章内目录的方法
2016/05/12 Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
2016/07/28 Javascript
基于js中的原型、继承的一些想法
2016/08/10 Javascript
JavaScript实现页面无操作倒计时退出
2016/10/22 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
2017/07/24 Javascript
利用Node.js如何实现文件循环覆写
2019/04/05 Javascript
JavaScript怎样在删除前添加确认弹出框?
2019/05/27 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
2020/07/21 Javascript
[45:40]Ti4 冒泡赛第二天NEWBEE vs NaVi 1
2014/07/15 DOTA
python简单文本处理的方法
2015/07/10 Python
python matlibplot绘制3D图形
2018/07/02 Python
使用pip发布Python程序的方法步骤
2018/10/11 Python
Python爬虫文件下载图文教程
2018/12/23 Python
对pandas写入读取h5文件的方法详解
2018/12/28 Python
Python + Flask 实现简单的验证码系统
2019/10/01 Python
Python sys模块常用方法解析
2020/02/20 Python
如何用Python徒手写线性回归
2021/01/25 Python
美国咖啡批发网站:Coffee.org
2017/06/29 全球购物
大学生饮食连锁店创业计划书
2014/01/17 职场文书
爱牙日活动总结
2014/08/29 职场文书
2014副镇长民主生活会个人对照检查材料思想汇报
2014/09/30 职场文书
国际贸易实务实训报告
2014/11/05 职场文书
2015年外贸业务员工作总结范文
2015/05/23 职场文书
教师学习十八届五中全会精神心得体会
2016/01/05 职场文书
React 并发功能体验(前端的并发模式)
2021/07/01 Javascript