全网整合营销服务商

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

免费咨询热线: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模态对话框的简单扩展  # 弹出  # 自定义  # 对话框  # 加载  # 模态  # 小编  # 更强大  # 更灵活  # 我就  # 是个  # 在此  # 下载地址  # 说了  # 已有  # 我对  # 不多  # 去看  # 同学们  # 给大家  # 用过 


相关文章: 表情包在线制作网站免费,表情包怎么弄?  云南网站制作公司有哪些,云南最好的招聘网站是哪个?  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  大连网站制作公司哪家好一点,大连买房网站哪个好?  定制建站哪家更专业可靠?推荐榜单揭晓  微信小程序 input输入框控件详解及实例(多种示例)  如何快速搭建高效服务器建站系统?  c# await 一个已经完成的Task会发生什么  太原网站制作公司有哪些,网约车营运证查询官网?  建站之星上传入口如何快速找到?  如何快速生成可下载的建站源码工具?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  Android使用GridView实现日历的简单功能  如何在云主机快速搭建网站站点?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  c# F# 的 MailboxProcessor 和 C# 的 Actor 模型  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  安云自助建站系统如何快速提升SEO排名?  如何通过商城免费建站系统源码自定义网站主题?  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  如何通过老薛主机一键快速建站?  高性价比服务器租赁——企业级配置与24小时运维服务  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  如何安全更换建站之星模板并保留数据?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?  如何通过西部建站助手安装IIS服务器?  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  PHP 500报错的快速解决方法  Swift中switch语句区间和元组模式匹配  建站主机选购指南:核心配置与性价比推荐解析  建站主机选择指南:服务器配置与SEO优化实战技巧  建站之星安装失败:服务器环境不兼容?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  模具网站制作流程,如何找模具客户?  建站之星安装步骤有哪些常见问题?  深入理解Android中的xmlns:tools属性  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  智能起名网站制作软件有哪些,制作logo的软件?  如何通过云梦建站系统实现SEO快速优化?  如何通过.red域名打造高辨识度品牌网站?  ,有什么在线背英语单词效率比较高的网站?  如何在云主机上快速搭建网站?  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  英语简历制作免费网站推荐,如何将简历翻译成英文?  成都响应式网站开发,dw怎么把手机适应页面变成网页?  C#如何在一个XML文件中查找并替换文本内容  建站之星后台搭建步骤解析:模板选择与产品管理实操指南 

您的项目需求

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