jQuery弹出框插件Dialog

所属分类:UI-弹出层,对话框

 46197  315  查看评论 (4)
分享到微信朋友圈
X
jQuery弹出框插件Dialog ie兼容10

更新时间:2017/8/11 下午9:48:35

更新说明:在这里非常抱歉;开始没有思考好;部分事件绑定和回调;导致在项目中会出现多次绑定事件;触发事件的现象;

下面时我在实际项目实现过程中;对api和配置文件的优化;

第一 添加两个按钮;如果两个按钮同时存在点击都会关闭弹出框;第一个按钮触发close事件;第二个按钮才会触发remove事件;如果只有一个按钮那么点击就会直接触发remove事件;这样这的好处是我们可以对应处理不同事件做不同的处理在关闭弹出框后;

第二 我们还添加父元素的可选项;这样为了满足弹出框在不同地方展现;

第三 我们可以直接 用变了去保存我们弹出框构造函数这样就可以直接调用hide(参数)方法去隐藏;这样做的最大好处就是我们可以实现更加方便的控制我们的弹出层;

第四在出现弹出层后我们禁止页面发生滚动;反正页面出现滚动导致偏差

以上这些都是我在项目中开发时使用发现的问题并解决;项目已上线;每天点击次数达到上万次;这是一个值得使用的插件;我会一直更新优化代码


更新时间:2017-8-9 09:54:44

更新说明:api 代码 和配置参数优化


更新时间:2017-8-8 19:03:11

更新说明:

this.box = options.box||'body';//tip/dialog:表示提示框内容要展示的容器
this.dom = options.dom||'';//tip:表示提示框内容 dialog:表示弹出框内容
this.type = options.type||'tip';//判断类型
this.content = options.content||'content';//提示框独有 表示提示框的内容
this.effectIn = options.effectIn||'';//进入时候的动画
this.effectOut = options.effectOu||'';//离开时的动画
this.hasMask = options.hasMask||true;//是否有遮罩层
this.time = options.time||1000;// 提示框独有 tips框隐藏的时间
this.closeBtn = options.closeBtn||'';//关闭按钮class id
this.listener = {};
this.handler = [];
this.show();

重写了js 代码;api和配置都没有改变;添加了新的配置

this.box = options.box||'body';

新的配置我们弹框和弹出层的弹出位置;

提供关闭按钮的配置;

提供了支持是否需要mask遮罩层---传入空字符串为不需要

tip:new Dialog({})这样就可以实现一个简单的tip提示框

具体的使用方法看我index.html


更新时间:2017-8-8 09:55:51

更新说明:修改弹出框的层级关系;给定z-index:1000;这样就不会出现由于层级关系不一样导致弹出层被覆盖的现象;

Dialog() //是不是很简单我们就可以实现一个tip提示框;
//tip
Dialog({
    dom: "" //(css选择器)可选参数 表示提示框展示的在哪个元素中
    type: 'tips' //可选参数 默认为tips
    content: '' //可选参数表示tips内容
    time: '' //默认是1000ms 表示tips框多长时间消失
    effectIn: '' //表示tips弹出框的出现时动画 可选  可以根据你的需要自定义css3动画(animate.css)
    effectOut: '' //表示tips弹出框的消失时动画 可选  可以根据你的需要自定义css3动画(animate.css)
})
//dialog
Dialog({
            dom: ''
            id选择器 表示我们自定义的dom结构
            type: 'dialog' //必选参数表示为dialog弹框
            closeBtn: ''
            class选择器 可选参数 默认.dialogClose 指定关闭弹框的按钮class
            effectIn: '' //表示tips弹出框的出现时动画 可选  可以根据你的需要自定义css3动画(animate.css)
            effectOut: '' //表示tips弹出框的消失时动画 可选  可以根据你的需要自定义css3动画(animate.css)
            hasMask: '' //布尔值 表示是否需要遮罩层 默认true
            我们提供的监听方法
            var dialog = Dialog({
                type: 'tips'
            });
            dialog.on('param', callback) //param 有close remove 表示分别监听弹出框显示隐藏
            dialog.hide(callback) //弹出框隐藏
            我们提供链式调用
            var dialog = Dialog({
                type: 'tips'
            });
            dialog.show(function() {
                console.log('我们显示了')
            }).
            on('close', function() {
                console.log('我们监听到弹出框显示')
            }).
            hide(function() {
                console.log('我们关闭了')
            }).
            on('remove', function() {
                console.log(console.log('我们监听到弹出框隐藏'))
            })

我们可以自已自定义动画,当然我们也可以使用animate.css实现动画;

相关插件-弹出层,对话框

四种简单弹窗 — 自己配置弹窗

四种弹出方式,可以非常简单的通过修改css来定义自己喜欢的样式。
  弹出层
 53165  423

移动端弹出层jquery插件简易

移动端弹出层jquery插件简易
  弹出层
 52264  334

响应式模态框

简洁、弹出效果好的响应式模态框,适用移动端
  弹出层
 37334  436

表格鼠标移入同行同列变色(原创)

jQuery表格鼠标移入后同行同列变色
  弹出层
 27387  320

讨论这个项目(4)回答他人问题或分享插件使用方法奖励jQ币 评论用户自律公约

    蜗牛不会跑 0
    2017/12/10 21:00:06

    你这边如果这个页面关闭了,父页面怎么获取这个dialog框里面返回的值呢

        我已不是前奏丶0
        2017/12/15 18:06:39

        在回调函数中 一参数形式返回

    回复
    妞,若一直在。 0
    2017/11/9 18:24:03

    学习了

        undefined0
        2017/11/12 20:07:35

        真的好用

    回复
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
取消回复