全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

bootstrap3 dialog 更强大、更灵活的模态框

用过bootstrap框架的同学们都知道,bootstrap自带的模态框用起来很不灵活,可谓鸡肋的很。但nakupanda开源作者封装了一个更强大、更灵活的模态框——bootstrap3-dialog。

一、源码下载

bootstrap3-dialog git下载地址

二、效果展示

1.error警告框

2.confirm确认选择框

3.Success提示框

4.ajax加载远程页面弹出框

5.ajax加载自定义页面弹出框

三、使用方法

bootstrap3-dialog的demo中已有很详细的介绍,但对于初学者来说是个麻烦,还要一个一个方法和注释去看。但我对这些常用的方法进行了新的封装,所以就简便了很多。
引入js和css文件我就不多说了,直接说使用方法。

①、error警告框

//弹出错误提示的登录框
$.showErr = function(str, func) {
 // 调用show方法
 BootstrapDialog.show({
  type : BootstrapDialog.TYPE_DANGER,
  title : '错误 ',
  message : str,
  size : BootstrapDialog.SIZE_SMALL,//size为小,默认的对话框比较宽
  buttons : [ {// 设置关闭按钮
   label : '关闭',
   action : function(dialogItself) {
    dialogItself.close();
   }
  } ],
  // 对话框关闭时带入callback方法
  onhide : func
 });
};

这样封装后,需要弹出error警告框的时候直接使用$.showErr("当日没有资金日报")即可。

②、confirm确认选择框

$.showConfirm = function(str, funcok, funcclose) {
 BootstrapDialog.confirm({
  title : '确认',
  message : str,
  type : BootstrapDialog.TYPE_WARNING, // <-- Default value is
  // BootstrapDialog.TYPE_PRIMARY
  closable : true, // <-- Default value is false,点击对话框以外的页面内容可关闭
  draggable : true, // <-- Default value is false,可拖拽
  btnCancelLabel : '取消', // <-- Default value is 'Cancel',
  btnOKLabel : '确定', // <-- Default value is 'OK',
  btnOKClass : 'btn-warning', // <-- If you didn't specify it, dialog type
  size : BootstrapDialog.SIZE_SMALL,
  // 对话框关闭的时候执行方法
  onhide : funcclose,
  callback : function(result) {
   // 点击确定按钮时,result为true
   if (result) {
    // 执行方法
    funcok.call();
   }
  }
 });
};

通过$.showConfirm(title, _doPost);进行调用。

③、Success提示框

$.showSuccessTimeout = function(str, func) {
 BootstrapDialog.show({
  type : BootstrapDialog.TYPE_SUCCESS,
  title : '成功 ',
  message : str,
  size : BootstrapDialog.SIZE_SMALL,
  buttons : [ {
   label : '确定',
   action : function(dialogItself) {
    dialogItself.close();
   }
  } ],
  // 指定时间内可自动关闭
  onshown : function(dialogRef) {
   setTimeout(function() {
    dialogRef.close();
   }, YUNM._set.timeout);
  },
  onhide : func
 });
};

④、ajax加载远程页面弹出框

首先,我们先来看如何使用。

<a href="${ctx}/common/showSendMessage" rel="external nofollow" rel="external nofollow" target="dialog">点击打开</a>

对,就这一行代码即可!

  1. 一个a标签
  2. 一个href属性指向远程页面
  3. target属性设置为dialog

不过,我们需要做一下封装。

第一步,页面加载时,我们需要让a标签执行ajaxTodialog方法。

$(function() {
 // dialogs
 if ($.fn.ajaxTodialog) {
  $("a[target=dialog]").ajaxTodialog();
 }
});

第二步,封装ajaxTodialog方法。

$.fn.extend({
 ajaxTodialog : function() {
  return this.click(function(event) {
   var $this = $(this);
   YUNM.debug("ajaxTodialog" + $this.selector);
   var title = $this.attr("title") || $this.text();
   var url=$this.attr("href");
   $.ajax({
    type : 'POST',
    url : url,
    cache : false,
    success : function(response) {
     ajaxDialog = BootstrapDialog.show({
      message : function(dialog) {
       var $message = $('<div></div>');
       $message.html(response);// 把传回来的页面作为message返回
       return $message;
      },
      title : title,
    }
   });
   event.preventDefault();
   return false;
  });
 },
});

⑤、ajax加载自定义页面弹出框

⑤和④类似,不过有些区别,下面只把区别列出来。

使用方法上,需要加上manipulating=”1”,指明为自定义页面,不使用bootstrap dialog的header、footer。

<a href="${ctx}/common/showSendMessage" rel="external nofollow" rel="external nofollow" target="dialog" manipulating="1">自定义页面</a>

ajaxTodialog方法中增加对manipulating=1的处理。

if (manipulating == 1) {
 ajaxDialog = new BootstrapDialog({
  message : function(dialog) {
   var $message = $('<div></div>');
   $message.html(response);

   return $message;
  },
  // 找到自定义页面上x号进行绑定close事件
  onshown : function(dialogRef) {
   var $button = dialogRef.getModalContent().find('button[data-widget="remove"]');
   $button.on('click', {
    dialogRef : dialogRef
   }, function(event) {
    event.data.dialogRef.close();
   });
  },
 });
 ajaxDialog.realize();
 ajaxDialog.getModalHeader().hide();// header不要
 ajaxDialog.getModalFooter().hide();// footer也不要
 ajaxDialog.getModalBody().css('padding', 0);// 无填充
 ajaxDialog.open();
}

以上所述是小编给大家介绍的bootstrap3 dialog 更强大、更灵活的模态框,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# bootstrap  # 模态框  # bootstrap3  # dialog  # 浅析BootStrap中Modal(模态框)使用心得  # Bootstrap模态框(modal)垂直居中的实例代码  # Bootstrap每天必学之模态框(Modal)插件  # BOOTSTRAP时间控件显示在模态框下面的bug修复  # 页面遮罩层  # 并且阻止页面body滚动。bootstrap模态框原理  # Bootstrap BootstrapDialog使用详解  # BootStrap+Angularjs+NgDialog实现模式对话框  # 封装的dialog插件 基于bootstrap模态对话框的简单扩展  # 弹出  # 自定义  # 对话框  # 加载  # 模态  # 小编  # 更强大  # 更灵活  # 我就  # 是个  # 在此  # 下载地址  # 说了  # 已有  # 我对  # 不多  # 去看  # 同学们  # 给大家  # 用过 


相关文章: 如何获取上海专业网站定制建站电话?  内部网站制作流程,如何建立公司内部网站?  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  昆明高端网站制作公司,昆明公租房申请网上登录入口?  如何通过虚拟主机快速完成网站搭建?  如何选择香港主机高效搭建外贸独立站?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  如何配置FTP站点权限与安全设置?  怎么将XML数据可视化 D3.js加载XML  ,购物网站怎么盈利呢?  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  建站之星如何实现网站加密操作?  无锡营销型网站制作公司,无锡网选车牌流程?  中山网站推广排名,中山信息港登录入口?  在线制作视频网站免费,都有哪些好的动漫网站?  较简单的网站制作软件有哪些,手机版网页制作用什么软件?  清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站之星伪静态规则如何设置?  建站主机默认首页配置指南:核心功能与访问路径优化  网站设计制作企业有哪些,抖音官网主页怎么设置?  Android自定义控件实现温度旋转按钮效果  网站制作费用多少钱,一个网站的运营,需要哪些费用?  建站之星安装后如何自定义网站颜色与字体?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  香港服务器租用每月最低只需15元?  如何用低价快速搭建高质量网站?  建站之星24小时客服电话如何获取?  如何在Windows环境下新建FTP站点并设置权限?  如何用AWS免费套餐快速搭建高效网站?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  制作证书网站有哪些,全国城建培训中心证书查询官网?  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  公司网站的制作公司,企业网站制作基本流程有哪些?  css网站制作参考文献有哪些,易聊怎么注册?  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  教程网站设计制作软件,怎么创建自己的一个网站?  建站主机系统SEO优化与智能配置核心关键词操作指南  如何确认建站备案号应放置的具体位置?  行程制作网站有哪些,第三方机票电子行程单怎么开?  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  网站图片在线制作软件,怎么在图片上做链接?  网站制作报价单模板图片,小松挖机官方网站报价?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  个人网站制作流程图片大全,个人网站如何注销?  如何通过山东自助建站平台快速注册域名?  如何快速生成橙子建站落地页链接?  网站制作难吗安全吗,做一个网站需要多久时间? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。