文档章节

artdialog4.1.7 封装

nao
 nao
发布于 2017/04/10 14:25
字数 272
阅读 18
收藏 0
($,$.dialog,_);(function ($,artDialog,_) {
    if(window.MoMessageBox){ return }
    var tpl = [
    '<div class="title">',
    '<span><%=title%></span>',
    '<a href="javascript:void(0);" class="w-close" hidefocus="true" data-action="cancel"></a>',
    '</div>',
    '<div class="separater"></div>',
    '<div class="info-wrap">',
    '<div class="info"><%=text%></div>',
    '</div>',
    '<div class="btn-wrapper">',
    '<a class="mo-btn-gray confirm mo-btn-x mo-btn-x-left" data-action="ok" href="javascript:">确定</a>',
    '<%if(type !== "alert"){%><a class="mo-btn-gray cancel mo-btn-x mo-btn-x-left" data-action="cancel" href="javascript:">取消</a><%}%>',
    '</div>'].join('');
    
    var MessageBox = window.MoMessageBox = function (options) {
        var me = this;
        options = options || {};
        this.tpl = options.tpl || tpl;
        this.autodestroy = options.autodestroy;
        this.id = options.id || "mo-msgbox-dialog";
        this.$el = $('<div class="mo-msgbox-wrapper"><div class="mo-msgbox-content mo-dialog-content"></div></div>');
        this.$el.on('click','[data-action]',function (e) {
            switch($(e.target).attr('data-action')){
                case 'ok':{
                    me.close('ok');
                    break;
                }
                case 'cancel':{
                    me.close('cancel');
                    break;
                }
            }
        });
        return this;
    }

    MessageBox.prototype = {
        constructor: MessageBox,
        show: function (msg, title ,type ,callback, scope ,param) {
            var me = this;
            var data = {text:msg ,title:title,type:type};
            this.$el.find('.mo-msgbox-content').html(_.template(this.tpl,data));
            this.callback = callback;
            this.scope = scope;
            this.param = param;
            this.dialog = $.dialog({
                id:this.id,
                content:this.$el[0],
                lock: true,
                opacity: 0.50,  // 透明度
                padding: 0,
                cancel:false, // 隐藏关闭按钮
                drag: false, // 不允许拖拽
                show:true,
                close: function () {
                    if(!me.result){
                        me.onresult('cancel')
                    }
                    if(me.autodestroy){
                        return true;
                    }
                    me.hide();
                }
            });
            this.dialog.show();
            this.visible = true;
            this.result = null;
        },
        close:function(result){
            if(result) this.onresult(result);
            this.result = result || 'cancel';
            if(this.dialog)this.dialog.close();
            this.visible = false;
        },
        hide:function(){
            this.dialog.hide();
            this.visible = false;
        },
        onresult:function(result){
            if(this.callback){
                this.callback.call(this.scope || this, result=="ok",result,this.param );
            }
        },
        alert: function (msg,title,callback) {
            this.show(msg,title,'alert',callback);
        },
        confirm: function (msg,title,callback) {
            this.show(msg,title,'confirm',callback);
        },
        prompt:function(){
        },
        isvisible:function(){
            return this.visible;
        }
    };
    
})($,$.dialog,_);


© 著作权归作者所有

共有 人打赏支持
上一篇: test
nao

nao

粉丝 28
博文 155
码字总数 108102
作品 0
成都
后端工程师
私信 提问
artDialog对话框在PHP下的简单应用-artDialog弹出层篇

本教程使用的是artDialog 4.1.7版本,由于需要iframe的支持,所以选择这个版本,artDialog 5.0.3不支持iframe。 本教程是基于本站站长在网页设计写代码过程中与PHP页面交互的应用,部分表单类...

似水星辰
2013/05/03
0
0
构建dubbo分布式平台-maven构建ant-framework核心代码Base封装

因为涉及到springmvc、mybatis的集成,为了使项目编码更简洁易用,这边将基础的BASE进行封装,其中包括:BaseBean、BaseDao、BaseService、CRUD的基础封装、分页组件的封装、mybatis的mappe...

明理萝
08/28
0
0
Bootstrap 常用组件封装--BootstrapQ

其实bootstrap已经很好了,唯一的软肋就是js方面有些薄弱,对比easyui就知道了, 可以很明显的知道bootstrap是前端人员创建的,而easyui是偏后端人员创建的。 BootstrapQ 主要特性: 1.Boot...

uikoo9
2015/01/06
4.7K
5
Java之基本数据类型的封装类

基本数据类型 封装类 boolean Boolean byte Byte short Short int Integer long Long char Character float Float double Double 基本数据类型的封装类 1.基本类型的封装类(wrapper)用来存储...

Aaron_DMC
2016/12/15
51
0
(周期计划-2)RecyclerView封装系列(1):Header、Footer

2018年技术周期计划:周期计划-1(2018/1/1-2018/1/7) 写在前面 写这边文章的时候是2018年1月12日,也就是18年的第二周,按照原计划应该是关于分割线的封装,不过后来想一想既然提到了封装,...

MDove
01/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

中高级面试知识点:缓存

前言 几乎所有的项目都做了缓存,但是缓存做的怎么样,其实只有我们自己知道。缓存做的好,没有网络也能流畅的使用;再多的数据请求都不会出现卡顿延迟等待很久的情况。 程序中除了图片缓存(...

Mr_zebra
20分钟前
1
0
Poco官方PPT_190-Applications双语对照翻译

因工作需要用到这一块的功能,所以直接翻译了一下 此PPT来源于官方文件,地址https://pocoproject.org/documentation.html

CHONGCHEN
23分钟前
1
1
使用idea开发servlet,引用maven后触发的class not found的问题的解决方案

需要将maven下载的依赖加入到lib目录,具体操作方法如下:打开Projrct Settings->Artifacts->右边的Output Layout,双击maven的依赖,就可以加载上去...

shatian
25分钟前
1
0
SpringMVC 拦截器

拦截器 是指通过统一拦截从浏览器发往服务器的请求来完成功能的增强 SpringMVC拦截器实现过程 1.编写拦截器,实现 org.springframework.web.servlet.HandlerInterceptor 接口 2.将拦截器注册...

晨猫
27分钟前
1
0
RabbitMQ+PHP演示实例

新建rabbit_consumer.php作为消费者 <?php //配置信息 $conn_args = array( 'host' => '127.0.0.1', 'port' => '5672', 'login' => 'admin', 'password' => ......

hansonwong
28分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部