[英]Modal Window load dynamic content and change it in times
大家好
我有一个加载页面的模式窗口,我需要在90秒后加载另一个页面。
我有...
<table id="table4">
<tr>
<td>Id:</td>
<td>Nome:</td>
</tr>
<tr>
<td>1515</td>
<td>Thiago</td>
</tr>
<tr>
<td>2015</td>
<td>Guttierre</td>
</tr>
</table>
根据ID,我将加载一个ID代表的页面。例如http://www.test.com/1515 。 90秒后,我必须加载其他ID ... http://www.test.com/2015 。
现在我有了这个脚本...
$(document).ready(function() {
//seleciona os elementos a com atributo name="modal"
var aux = 2;
while (($("#table4 tr:nth-child(" + aux + ") td:nth-child(1)") != "")) {
var idSOS = $("#table4 tr:nth-child(" + aux + ") td:nth-child(1)").text();
if ((idSOS != "") && (idSOS != undefined) && (idSOS != null) && (idSOS != "Id:")) {
$("#dialog, #mask,#closediv").css({ 'display': 'block' });
var maskHeight = "99%";
var maskWidth = "99%";
$('#mask').css({ 'width': maskWidth, 'height': maskHeight });
//Effect
$('#mask').fadeIn(800);
$("#dialog").fadeIn(1600);
$('#mask').fadeTo("slow", 1);
$('#dialog').fadeTo("slow", 1);
//
var winH = $(window).height();
var winW = $(window).width();
//centraliza na tela a janela popup
$("#dialog, #mask").css('top', '2px');
$("#dialog, #mask").css('left', '2px');
//
setTimeout(function() {
var i = idSOS;
loadContent(i);
}, 10000);
aux++;
// continue;
} //end IF
else {
$("#dialog").empty();
$("#dialog, #mask").hide();
break;
};
}; //END WHILE
$("#dialog, #mask").hide();
//se o botão fechar/tela for clicado
$('#closediv').click(function GetOut(e) {
e.preventDefault();
$('#mask,#closediv, .window').hide();
});
function loadContent(idSOS) {
$("#dialog").load('/teste' + idSOS + '.aspx');
};
它仅显示div中加载的第二个ID。 要加载DIV“对话框”中加载的第一个ID,然后在90秒后显示第二个ID,我该怎么做?
我哪里做错了?
伙计们。
此行在加载对话框后立即清除它:
$("#dialog").empty();
然后,在90秒超时中,它成功加载了第二项。
我相信发生这种情况是因为setTimeout期望第一个参数是一个字符串,并且您给了它一个函数,该函数可能立即执行
所以代码应该更像是:
setTimeout("function() { ... }", 90000);
但是,您的逻辑似乎仍然存在缺陷,因为“每个”语句将创建2个setTimeout()函数,它们将在90秒后同时执行。
这是因为它将迭代存在的两个列(TD)并每次都执行“每个”部分中的所有内容。
该代码很可能需要更详细的修订。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.