sufangyu / dialog2

移动端弹窗插件第二版,包括常见的 alert、confirm。toast、notice 四种类型弹窗,支持 jQuery 和 Zepto 库。(已停止维护,请使用vue、react 等新框架)
328 stars 96 forks source link

多个窗口是怎么一个机制? #1

Closed moobyes closed 7 years ago

moobyes commented 7 years ago

如何实现多个窗口?是先删除点现有的那个然后再生成一个新的吗?

sufangyu commented 7 years ago

从机制上是不会删除现有的窗口,只是再新增一个弹窗。如果需要关闭之前的弹窗,再去生成新的。可以有方法关闭的。

可以参考示例:Toast 类型, 弹窗类型更改 ==> “Toast TO Modal”

uiue commented 7 years ago
function checkStatus(tid) {
    var toast5 = $(document).dialog({
        type : 'toast',
        //overlayShow : true,
//        infoIcon: '../images/icon/loading.gif',
        infoText: '疯狂加载中...',
    });
    $.ajax({  
        type : "GET",  //提交方式  
        url : '/services/status',//路径 
        dataType:'JSON',  
        success : function(result) {//返回数据根据结果进行相应的处理  
            var resultObj = eval('(' + result + ')'); 
            if ( resultObj.status == 0) {  

            } else if(resultObj.status == 1) {  
                toast5.update({
                    infoIcon: '../images/icon/success.png',
                    infoText: '你已经完成任务',
                    autoClose: 3000,
                });
            }  
        },
        error: function(xhr, type){
            $(document).dialog({
                type : 'confirm',
                style: 'ios',
                titleText: '操作失败',
                content: '网络出问题了',
            });
        }    
    }); 
}

<a href="javascript:void(0);" onclick="checkStatus('100')">

TypeError: undefined is not an object (evaluating 'obj.update')

重复点击a标签,第一次会显示toast,之后不会显示,并且出现上面的错误

sufangyu commented 7 years ago

@uiue 用你贴出来的代码测试了一下,无论是请求成功 status=1 ,还是请求失败,都没有出现你的那个错误提示。麻烦检查一下看你写的代码中是否使用了obj.update,而obj是还未声明的?

TypeError: undefined is not an object (evaluating 'obj.update')