gpt4 book ai didi

javascript - 如何连续打开对话框而不覆盖

转载 作者:行者123 更新时间:2023-11-27 22:46:33 26 4
gpt4 key购买 nike

我试图在 for 循环内显示对话框,但总是显示最后一个。它正在覆盖现有的。

是否有其他方法可以一一显示对话框?例如,for 循环大小为 2。在迭代中,第一个被打开。如果我关闭第一个,那么第二个也会像这样打开。

以下是我正在使用的代码片段:

$(document).ready(function() {


$("#warningMessage").dialog({
dialogClass: "no-close",
autoOpen: false,
height: 400,
width: 400,
modal: true,
buttons: {
"YES": function() {
var me = jQuery(this);
me.dialog("close");
},
"NO": function() {
var me = jQuery(this);
me.dialog("close");
},
}
});
var sample = ["AAAA", "BBBB"];
for (i in sample) {
$("#warningMessage").html(sample[i]);
$("#warningMessage").dialog("open");
}


});
<!DOCTYPE html>
<html>

<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.9.2/jquery-ui.min.js" integrity="sha256-eEa1kEtgK9ZL6h60VXwDsJ2rxYCwfxi40VZ9E0XwoEA=" crossorigin="anonymous"></script>
<link rel="stylesheet" type="text/css" href="https://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css">
</head>

<body>
<div id="warningMessage">
</div>
</body>

</html>

HTML:

<div id="warningMessage">
</div>

Javascript:

$(document).ready(function() {
$("#warningMessage").dialog({
dialogClass: "no-close",
autoOpen: false,
height: 400,
width: 400,
modal: true,
buttons:
{
"YES" : function(){
var me = jQuery(this);
me.dialog("close");
},
"NO" : function(){
var me = jQuery(this);
me.dialog("close");
},
}
});
var sample = ["AAAA","BBBB"];
for(i in sample){
$("#warningMessage").html(sample[i]);
$("#warningMessage").dialog("open");
}
});

提前致谢。

最佳答案

您可以使用这样的队列:

$(document).ready(function() {

var queue = [];

$(".warningMessage").dialog({
dialogClass: "no-close",
autoOpen: false,
height: 400,
width: 400,
modal: true,
buttons: {
"YES": function() {
var me = jQuery(this);
me.dialog("close");
},
"NO": function() {
var me = jQuery(this);
me.dialog("close");
},
}
}).on("dialogclose", function(event, ui) {
if (queue.length)
$(".warningMessage").html(queue.shift()).dialog("open");
});
var sample = ["AAAA", "BBBB"];
for (i in sample) {
queue.push(sample[i]);
}
$(".warningMessage").html(queue.shift()).dialog("open");
});

演示: https://jsfiddle.net/iRbouh/dno04zpz/17/

关于javascript - 如何连续打开对话框而不覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38372089/

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