当在网页中加载此代码时,它将检测到$ Update等于1并运行以下代码。但是在将$ Update设置回0然后再回到1之后,它将不会重新运行下面的代码。
我使用javascript每5秒刷新一次包含所有php代码的DIV,但在初始加载时它仍然不会运行多次。
任何想法?
提前谢谢if($Update == "1"){
echo '<script type="text/javascript">document.getElementById("Sub1").style.display="none"</script>';
echo '<script type="text/javascript">document.getElementById("Sub1Move").style.display="block"</script>';
echo '<script type="text/javascript">$( "#Sub1Move" ).animate({marginTop: "-=34px",}, 2000, function() {});</script>';
sleep(8);
echo '<script type="text/javascript">document.getElementById("Sub1").style.display="block"</script>';
$Update = "0";
}
答案 0 :(得分:1)
PHP发生在服务器端,而Javascript只影响客户端的内容。您不能仅使用Javascript刷新特定的<div>
,希望它会触发生成该特定<div>
的PHP代码。总的来说,你希望发生的一切都是“活着”。你应该用Javascript编写,混合PHP和Javascript就像你现在尝试做的那样有些可能,但是不可取,而且要困难得多。
所以你希望做的是
<script>
// [...]
$( "#Sub1Move" ).animate({marginTop: "-=34px",}, 2000, function() {});
setTimeout(function(){
document.getElementById("Sub1").style.display="block"
}, 8000);
</script>
答案 1 :(得分:-1)
你的php代码必须有for循环,但从php调用js来完成一项可以单独用js完成的工作并不好。
this is better:
<script type="text/javascript">
function func1() {
//your code
}
setInterval(func1, 5000);
</script>