bootstrap3 dialog 更强大、更灵活的模态框
发布时间 - 2026-01-11 00:44:26 点击率:次用过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>
对,就这一行代码即可!
- 一个a标签
- 一个href属性指向远程页面
- 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模态对话框的简单扩展
# 弹出
# 自定义
# 对话框
# 加载
# 模态
# 小编
# 更强大
# 更灵活
# 我就
# 是个
# 在此
# 下载地址
# 说了
# 已有
# 我对
# 不多
# 去看
# 同学们
# 给大家
# 用过
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
UC浏览器如何设置启动页 UC浏览器启动页设置方法
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
如何在宝塔面板创建新站点?
百度浏览器网页无法复制文字怎么办 百度浏览器复制修复
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
JS中对数组元素进行增删改移的方法总结
如何在宝塔面板中创建新站点?
中国移动官方网站首页入口 中国移动官网网页登录
如何用5美元大硬盘VPS安全高效搭建个人网站?
微信小程序 canvas开发实例及注意事项
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
如何基于云服务器快速搭建个人网站?
javascript基于原型链的继承及call和apply函数用法分析
浅述节点的创建及常见功能的实现
Laravel API资源类怎么用_Laravel API Resource数据转换
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
Laravel怎么使用artisan命令缓存配置和视图
Laravel如何创建自定义中间件?(Middleware代码示例)
宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法
Laravel定时任务怎么设置_Laravel Crontab调度器配置
Laravel怎么实现模型属性的自动加密
香港网站服务器数量如何影响SEO优化效果?
深圳网站制作培训,深圳哪些招聘网站比较好?
Android仿QQ列表左滑删除操作
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
大同网页,大同瑞慈医院官网?
node.js报错:Cannot find module 'ejs'的解决办法
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
制作旅游网站html,怎样注册旅游网站?
Laravel如何配置和使用缓存?(Redis代码示例)
Laravel如何实现API速率限制?(Rate Limiting教程)
Laravel如何保护应用免受CSRF攻击?(原理和示例)
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
Swift中swift中的switch 语句
香港服务器租用费用高吗?如何避免常见误区?
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧
详解vue.js组件化开发实践
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
Thinkphp 中 distinct 的用法解析
如何快速生成凡客建站的专业级图册?
香港服务器选型指南:免备案配置与高效建站方案解析
如何为不同团队 ID 动态生成多个非值班状态按钮
Laravel路由怎么定义_Laravel核心路由系统完全入门指南
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】

