簡體   English   中英

php不多次運行javascript

[英]php not running javascript more than once

在將此代碼加載到網頁中后,它將檢測到$ 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";

}

PHP發生在服務器端,而Javascript僅影響客戶端。 您不能僅使用Javascript刷新特定的<div>希望它會觸發生成特定<div>的PHP代碼。 通常,您希望讓所有“活着”發生的事情都應該用Java腳本編寫,像現在嘗試將PHP和Java腳本混合使用,這在某種程度上是可能的,但不建議這樣做,而且難度更大。

所以你想做的是

<script>
    // [...]
    $( "#Sub1Move" ).animate({marginTop: "-=34px",}, 2000, function() {});

    setTimeout(function(){
        document.getElementById("Sub1").style.display="block"
    }, 8000);
</script>

您的php代碼必須具有for循環,但是從php調用js來完成僅使用js即可完成的工作並不好。

this is better:
<script type="text/javascript">
    function func1() {
        //your code
    }
    setInterval(func1, 5000);
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM