[英]replace dynamically created div/stop running page that was loaded in the previous div
我有一个使用 javascript 动态加载的 page1,在该页面上我有一个 setTimeout,每 5 秒检查一次新消息,发生的问题是,如果有新消息,它应该用 page2 替换 div,完全关闭page1 但不幸的是,即使 page2 替换了旧的 div,page1 上的计时器仍在工作,我应该如何关闭与 page1 的连接,以便在 page2 在 div 上时计时器停止运行?
第1页
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript">
function carregapagina($pagina){
$.ajax({
url: $pagina,
type: 'GET',
dataType: 'html',
data: "",
success: function(content){
$("#DisplayDiv").html(content);
}
});
}
function atualizadados(){
$(document).ready(function(){
$.ajax({
dataType: 'json',
url: 'comando.txt',
success: function(data){
switch (data.comando){
case "teste1":
carregapagina('page2.php');
break;
}
}
});
setTimeout('atualizadados()', 5000);
});
}
atualizadados();
</script>
</head>
<body>
<div id="DisplayDiv">
<?php echo 'PAGINA 1 carregada com sucesso!'; ?>
</div>
</body>
</html>
第2页
<?php
echo '<h1>PAGINA 2 carregada com sucesso!</h1>';
?>
comando.txt
{"comando":"teste1"}
你必须在变量中捕获超时:
switch (data.comando){
case "teste1":
clearTimeout(timer);
carregapagina('page2.php');
break;
}
}
});
var timer = setTimeout('atualizadados()', 5000);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.