atjinna
atjinna
  • 发布:2016-10-10 11:42
  • 更新:2016-10-10 12:26
  • 阅读:1396

没有人回答,我只好再发一次了

分类:MUI
mui

使用mask的colse失效,点击后无法关闭遮罩蒙版。

将蒙版放在方法里,利用传true或false的方式开启或关闭蒙版


function mask(flg){  

    var mask = mui.createMask(function (){  
        $(".payTypeDiv").css("display","none");  
        });  
    if(flg){  
        mask.show();//显示遮罩  
        $(".payTypeDiv").css("display","block");  
    }else{  
        mask.close();  
         $(".payTypeDiv").css("display","none");  
    }     
}  

外部调用关闭蒙版(前面已经有方法调用到了开启,是正常的,现在是关闭,请注意mask(false)调用方法)


$(document).on("tap","#selectBtn",function(){  

    var jsPushChecked= $(".push");//获取所有推送条件的项  
    var jsStatuChecked= $(".start");//获取所有状态条件的项  
    var statu="",pushVal="";  
     for(var j=0;j<jsStatuChecked.length;j  ){  
         if(jsStatuChecked[j].checked){  
//           startSelect(jsPushChecked[i].value,jsStatuChecked[j].value);  
             statu=jsStatuChecked[j].value;  
         }  

     }  
    //循环所有推送的项  
     for(var i=0;i<jsPushChecked.length;i  ){  
         //判断并获取被选中的推送查询条件  
         if(jsPushChecked[i].checked){  
             //循环所有状态项,并判断被选中的状态条件  
             pushVal=jsPushChecked[i].value;  

         }  
    }  
     if(pushVal == "" || pushVal == null || pushVal == undefined){  
         if(statu == "" || statu == null || statu == undefined){  
             mui.toast("请选择筛选条件");  
         }else{  
             startSelect(0,statu);  
             mask(false);  
         }  

     }else if(statu == "" || statu == null || statu == undefined){  
         startSelect(pushVal,0);  
         mask(false);  
     }else{  
         startSelect(pushVal,statu);  
         mask(false);  
     }  

});  

最终结果:
mask(flg) 方法有关闭时有调用到,并且else分支里的 $(".payTypeDiv").css("display","none");有实现效果,但是mask.colse()没有效果,遮罩蒙版还存在。

请问这是为什么呢?如何解决?

2016-10-10 11:42 负责人:无 分享
已邀请:
rodgerz

rodgerz

根据你下面的代码看,你每次都创建了一个新mask所以你每次关闭的都是新的mask,老的mask没有关闭过就一直存在了,把创建mask放到页面初始化的地方

function mask(flg){  

    var mask = mui.createMask(function (){  
        $(".payTypeDiv").css("display","none");  
        });  
    if(flg){  
        mask.show();//显示遮罩  
        $(".payTypeDiv").css("display","block");  
    }else{  
        mask.close();  
         $(".payTypeDiv").css("display","none");  
    }     
}
  • atjinna (作者)

    已解决,感谢

    2016-10-11 09:19

该问题目前已经被锁定, 无法添加新回复