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

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框,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • js showModalDialog弹出窗口实例详解

    showModalDialog:模式窗口, 一种很特别的窗口,当它打开时,后面的父窗口的活动会停止,除非当前的模式子窗口关闭了, 才能操作父窗口.在做网页Ajax开发时,我们应该有时会用到它来实现表单的填写, 或做类似网上答题的窗口. 它的特点是,传参很方便也很强大,可直接调用父窗口的变量和方法. 使用方法:  vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures]) 参数说明:  sURL--  必选参数,类

  • 关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)

    最近的项目用的bootstrap前端,手机刚刚更新IOS9发现其中的modal有个bug,首页点弹出框会出现问题,找了好多资料终于找到解决办法.在CSS中加入以下代码 CSS body { padding-right: 0px !important } .modal-open { overflow-y: auto; } PS:bootstrap datepicker 在bootstrap modal中不显示问题 可以通过在 input 输入框之外 嵌套 <span style="posit

  • jQuery+jqmodal弹出窗口实现代码分明

    先上图,最终效果如下 点击"信息确认" 就是弹出一个确认窗口,把已经填报的信息都放到里面看看. 信息放里面很简答,主要是弹出窗口要做得好看点. 所以选择了jQuery+jqmodal实现 实现方法如下1.页面中引用jquery-1.4.2.js和jqModal.js,注意jQuery要在前面,因为jqmodal是以jQuery为基础的. 2.建立jqModal.css,并引用,主要是些美工的东东,注意div.jqmDialog 的 display为 none.高度和宽度要设置好,挡住下

  • 解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题

    废话不多说了直接给大家贴代码了,具体代码如下所示: $('#myModal').on('shown', function() { $(document).off('focusin.modal'); }); //显示modal $('#myModal').modal('show'); //show完毕前执行 $('#myModal').on('shown', function () { //加上下面这句!解决了~ $(document).off('focusin.modal'); // 打开Dia

  • bootstrap modal弹出框的垂直居中

    本人前端菜鸟,公司项目尝试采用bootstrap,我身先士卒为同事趟"坑",无奈UI妹子刁难非得让modal弹出框垂直居中,为了前端开发岗位的荣誉,花时间满足之. 最先就是百度咯,方法,就是修改源码 that.$element.children().eq(0).css("position", "absolute").css({ "margin":"0px", "top": functio

  • bootstrap modal+gridview实现弹出框效果

    项目需要在gridview的表单信息中点击更新,弹出表单进行操作,不需要跳转. 1.在girdview中加入更新操作按钮用来调用modal弹窗 'buttons' => [ 'update' => function ($url, $model, $key) { return Html::a('<span class="glyphicon glyphicon-pencil"></span>', '#', [ 'data-toggle' => 'm

  • 弹出模态框modal的实现方法及实例

    弹出模态框modal的实现方法及实例 一个简单的点击列表修改按钮,弹出bootstrap模态框,修改状态传到后台php <a href="" data-toggle=" rel="external nofollow" rel="external nofollow" modal" data-target="#myModal" class="btn btn-success btn-sm edit

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

    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 hide

  • Bootstrap告警框(alert)实现弹出效果和短暂显示后上浮消失的示例代码

    最近用到bootstrap的告警框时发现只有html的说明,就自己写了一个弹出告警框和弹出短暂显示后上浮消失的告警框. 使用效果 移入时停止上浮的效果 直接上JS代码了,可以copy过去直接用(使用bootstrap的UI框架的情况下) var commonUtil = { /** * 弹出消息框 * @param msg 消息内容 * @param type 消息框类型(参考bootstrap的alert) */ alert: function(msg, type){ if(typeof(ty

  • 键盘弹出时会覆盖文本框怎么解决

    在一些网站登陆界面,我们经常会见到,键盘的出现与隐藏操作,那么基于代码是如何实现的呢?下面小编写了具体代码介绍,特此分享到我们平台,供大家参考 先给大家展示下效果图: 具体代码如下所示: #import "ViewController.h" #import "UIView+FrameExtension.h" // 可以自己写,以后用着方便 #define kDeviceHeight [UIScreen mainScreen].bounds.size.height @

  • 用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)

    Node.JS是一个控制台程序,如果想要从Node.JS弹出Windows系统提示框的话,有很多方法可以实现.比如借助 electron 或 node-webkit: 在Electron中弹出消息框 Electron与Windows的接口非常完善,可以调用各种Window原生机制,如创建系统托盘图标.打开文件夹选择框等.这里使用dialog,即可弹出系统消息提示框: const { app , BrowserWindow , Menu , Tray , shell , dialog , ipcM

  • Python+Selenium随机生成手机验证码并检查页面上是否弹出重复手机号码提示框

    1.随机生成格式正确手机号码 # 随机产生格式正确的手机号码 def create_phone(self): num_start = ['134', '135', '136', '137', '138', '139', '150', '151', '152', '158', '159', '157', '182', '187', '188', '147', '130', '131', '132', '155', '156', '185', '186', '133', '153', '180',

  • Android GridView扩展仿微信微博发图动态添加删除图片功能

    在平时的开发中,我们会看到不管是微信发朋友圈照片还是微博发布新鲜事,添加图片的时候都是选完后面还有个+号再去选择图片,这样的话比较方便用户去添加图片,有的右上角还有个-号方便用户去删除图片,而一般用户选择的图片多少都是不定的,我们只限制最大张数,我们用gridview去实现,代码可能比较简单,高手请略过. 0.效果图 1.准备资源图片 添加图片的+号图片 删除图片的图片 2.可设置限制用户选择最大张数 /** * 可以动态设置最多上传几张,之后就不显示+号了,用户也无法上传了 * 默认9张 */

  • AlertBox 弹出层信息提示框效果实现步骤

    在仿Lightbox效果中,已经基本实现了这个效果,这次主要改进了ie6在fixed时的抖动问题. 此外,还增加了一个用来兼容ie6的fixed的方法,覆盖层也重新"包装",程序也改成组件的结构. 兼容:ie6/7/8, firefox 3.6.8, opera 10.6, safari 5.0.1, chrome 5.0 效果预览 http://demo.jb51.net/js/AlertBox/index.htm 程序说明 [实现原理] 弹出层的基本原理在仿Lightbox效果中已

  • 让JavaScript的Alert弹出框失效的方法禁止弹出警告框

    本文将介绍让JavaScript的Alert弹出框失效的方法,也就是禁止让JS弹出警告框. 因为现在都提倡绿色上网环境,弹出框难免会影响你的心情,所以通过以下代码可将Js弹出框屏蔽掉. <script LANGUAGE="JavaScript"> <!-- window.alert = function(str){ return ; } alert("不能弹出警示框");//--> </script> 实现思路是对"al

  • jquery.alert 弹出式复选框实现代码

    //jQuery Alert Dialogs Plugin Version 1.0 //插件下载地址:http://abeautifulsite.net/notebook/87 自身的原方法为: 复制代码 代码如下: // Usage: // jAlert( message, [title, callback] ) // jConfirm( message, [title, callback] ) // jPrompt( message, [value, title, callback] ) 1

  • 多选列表框动态添加,移动,删除,全选等操作的简单实例

    复制代码 代码如下: <%dim aa = split(Request.Form("sourceList"),",")Response.Write "Source:" & Request.Form("sourceList") & ubound(a) & "<br>Object:" & Request.Form("objectList")

随机推荐