jQuery弹出框插件Dialog

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

 46117  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实现动画;

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

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

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

jQuery弹出层插件LIGHTBOX

这款lightbox,可应用于图片、swf文件、html文件等等.
  弹出层
 97413  512

jQuery弹出层插件(原创)

简约的jQuery弹出层插件
  弹出层
 26872  244

jQuery图像展示插件Strip

Strip是Lightbox的一种,它只能部分覆盖页面。这样就不会占用大的屏幕面积,适用于比较小的移动设备
  弹出层
 32701  392

讨论这个项目(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

        真的好用

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