gpt4 book ai didi

Javascript 变量第一次没有正确设置

转载 作者:行者123 更新时间:2023-11-30 17:31:28 26 4
gpt4 key购买 nike

我的问题是我的变量 flag 没有以某种方式更新,我什至尝试使用 setTimeout 函数来更新,但没有成功!

JavaScript

function confirmed(msg, okFtn, cnclFtn){
flag=false;
$(document.createElement('div')).html('\
<div style="max-width:250px;width:100%;">'+msg+'\
<p>\
<button value="yes" class="button small gradient blue left rnd5 cnfrm">OK</button>\
<button value="no" class="button small gradient blue left rnd5 cnfrm">Cancel</button>\
</p></div>')
.modal({
onShow: function (dialog) {
$('.simplemodal-close').remove();
$("#simplemodal-container").css({'height': 'auto','width':'auto'});
$(window).trigger('resize.simplemodal');
},
onClose: function(){
console.log(flag);
if(flag)
return true;
else
return false;
}
});
$('button.cnfrm').click(function(){
flag=true;
if ($(this).val() == 'yes') {
if(okFtn && typeof okFtn === 'function')
okFtn();
} else {
if(cnclFtn && typeof cnclFtn === 'function')
cnclFtn();
}
setTimeout(function(){$.modal.close();}, 1000);
});
}

这是 Fiddle link我在说什么。

由于变量没有设置,所以 $.modal.close() 不能正常工作,我想要的只是当且仅当按钮 OK 时关闭模态对话框或点击取消

最佳答案

http://www.ericmmartin.com/projects/simplemodal/

来自文档:

onClose:用于为模式对话框元素的关闭添加效果。在你应用效果等之后,你需要调用 $.modal.close();因此 SimpleModal 可以正确地重新插入数据并清理对话框元素。

您需要在 onClose() 处理程序中包含对 $.modal.close() 的调用,例如

        onClose: function(){
console.log(flag);
if(flag) $.modal.close();
}

附言。至于 flag 变量,它的设置完全符合您的预期。这不是问题。

关于Javascript 变量第一次没有正确设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22988075/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com