bDialog - 可多层嵌套、高定制化的模态窗口


MIT
跨平台
JavaScript

软件简介

可多层嵌套、高定制化的模态窗口bDialog

基于Boostrap Modal功能进行增加、扩展的可多层嵌套、定制灵活的模态窗口

效果预览

模态窗口效果图:

消息对话框模式效果图:

遮罩模式效果图:

边角通知窗口效果图:

bDialog使用入门指南、Demo、文档

更多实例、文档请访问:

https://terryz.github.io/bdialog/index.html

项目GitHub地址:

https://github.com/TerryZ/bDialog

如果您觉得项目还不错,还请给项目(Github /

码云)加个Star,以支持鼓励作者的工作

功能特点

  • 基于jQuery、bootstrap2,3进行开发

  • 可多层嵌套,并拥有各自独立的上下文

  • 灵活的窗口元素定制

  • 可在同一页面下展示各种不同样式、风格的窗口皮肤

  • 浏览器尺寸发生改变时,窗口将自动重新定位到浏览器中心区域

  • 模态窗口区域外点击、窗口自动定位等场景均有相应的提醒动画效果

  • 严格遵守Bootstrap Modal原生HTML代码结构,可自动适应所有基于Bootstrap的风格皮肤

  • 丰富的回调函数

浏览器兼容:IE8+、Chrome、Firefox等

插件基于jQuery开发,建议在Bootstrap环境下使用,目前支持Bootstrap2、Bootstrap3

窗口模式:

  • 模态窗口(Modal)

  • 消息对话框(Alert)

  • 遮罩(Mask)

  • 边角通知窗口(Toast)

目标用户群体

bDialog开发之初,目的是为了统一开发团队对于Bootstrap
Modal的使用方式,例如统一设置背景点击不关闭窗口,关闭底部按钮区域,统一设置参数接收,回调函数等基础功能;后续更是着重解决了窗口多层嵌套打开的功能需求,尤其是解决了该死的IE8下多层打开会导致浏览器崩溃的问题。

插件针对在项目中使用了Bootstrap作为基础UI框架,同时更希望使用Bootstrap原生态组件的群体。

Bootstrap原生提供的功能组件,功能性相对较弱,bDialog并不重新造轮子,而是在原生组件的基础上进行功能加强、扩展,使得更符合开发上的功能需求,通过不断的功能完善和问题修复,bDialog插件就一直更新到了现在。几年来经过多个团队和多个项目的使用,将项目进行开源,希望项目可以让更多的团队,个人受益。

怎么使用bDialog

Github
码云 上下载最新的版本,解压后并放入需要使用的项目中

或使用 npm 指令

npm install bdialog

资源导入

< !-- 插件使用的样式表文件,分bootstrap2和bootstrap3两个环境使用,根据使用环境引用 -- >
< !-- bootstrap2环境使用 -- >
< link rel="stylesheet" href="b.dialog.css" type="text/css" >
< !-- bootstrap3环境使用 -- >
< link rel="stylesheet" href="b.dialog.bootstrap3.css" type="text/css" >


< !-- 拖拽功能库 -- >
< script type="text/javascript" src="jquery-ui.min.js" >< /script>
< !-- 插件核心脚本 -->
< script type="text/javascript" src="b.dialog.js" >< /script>

Javascript初始化插件

//初始化插件
bDialog.open({
    title : '窗口标题',
    width : 500,
    height : 450,
    url : 'http://aa.com/load',
    params : {
        'userName' : 'zhangsan'
    },
    callback:function(data){
        if(data && data.results && data.results.length > 0 ){
            eDialog.alert('已完成弹出窗口操作!  
接收到弹出窗口传回的 userName 参数,值为: **' + data.results[0].userName + '** ');
        }else{
            eDialog.alert('弹出窗口未回传参数',$.noop,'error');
        }
    }
});