代码如下:
function tips(){
//调用函数时,显示弹出层
$('.mask').show();
//取消
$('.cancel').on('click',function(){
$('.mask').hide(); //隐藏弹出层
return false;
});
//确定
$('.confirm').on('click',function(){
$('.mask').hide(); //隐藏弹出层
return true;
});
}
我想要这样调用:
if( tips() ){
do_something_true...
}else{
do_something_false...
}
淡淡烟草味2017-05-19 10:13:24
function tips(cb){
//调用函数时,显示弹出层
$('.mask').show();
//取消
$('.cancel').on('click',function(){
$('.mask').hide(); //隐藏弹出层
cb(false);
});
//确定
$('.confirm').on('click',function(){
$('.mask').hide(); //隐藏弹出层
cb(true);
});
}
tips(function(ret){
if(ret) {
// blabla
} else {
// blabal
}
});
如果要炫技,ES7里你可以酱:
function tips(){
return new Promise(resolve => {
//调用函数时,显示弹出层
$('.mask').show();
//取消
$('.cancel').on('click',function(){
$('.mask').hide(); //隐藏弹出层
resolve(false);
});
//确定
$('.confirm').on('click',function(){
$('.mask').hide(); //隐藏弹出层
resolve(true);
});
});
}
async function test() {
if( await tips()) {
// do_something_when_true...
} else {
// do_something_when_false
}
// 是不是熟悉的味道?Promsie是个好东西,async/await更是
}
ringa_lee2017-05-19 10:13:24
加一个flag标志吧,flag也可以用数字类似0,1表示。
function tips(){
var flag = false;
//调用函数时,显示弹出层
$('.mask').show();
//取消
$('.cancel').on('click',function(){
$('.mask').hide(); //隐藏弹出层
flag = false;
});
//确定
$('.confirm').on('click',function(){
$('.mask').hide(); //隐藏弹出层
flag = true;
});
return flag;
}
曾经蜡笔没有小新2017-05-19 10:13:24
刚学很笨的办法
var tips_vla="";
function tips(){
//调用函数时,显示弹出层
$('.mask').show();
//取消
$('.cancel').on('click',function(){
$('.mask').hide(); //隐藏弹出层
tips_vla=0;
al(tips_vla);
})
//确定
$('.confirm').on('click',function(){
$('.mask').hide(); //隐藏弹出层
tips_vla=1;
al(tips_vla);
});
}
tips();
function al(){
if(tips_vla){
alert("你点击了确认");
}else{
alert("你点击了取消");
}
}
滿天的星座2017-05-19 10:13:24
最懒的办法,加个感叹号,嘻嘻嘻
if( !tips() ){
do_something_true...
}else{
do_something_false...
}
当然了,最好在tips()函数里面还得写一句,return true