php没有多次运行javascript

时间:2015-05-26 14:01:44

标签: javascript php

当在网页中加载此代码时,它将检测到$ 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";

}

2 个答案:

答案 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>