2013-08-27 35 views
0

我想做一個while循環,它執行和回顯1和90之間的值,每個值相隔1秒。然而,如果這樣做有意義,我不希望它們全部被連續寫入,而只是想增加一個回顯值。它應該是一個足球比賽,基本上是一個計時器。我不太確定如何做到這一點,所以任何援助將不勝感激!創建一個計數器php

謝謝!

+0

如果不重新加載頁面,PHP無法做到這一點。 Javascript可以 – JimL

回答

1

如果您使用PHP作爲計數器,您將會暫停PHP引擎一分半鐘。向用戶顯示的結果是一個編號爲90的頁面,需要90秒才能加載。你需要的是JavaScript在一秒之後增加文本跨度的值。

在PHP中,回顯只是第一個數字,並使用JS來增加每一秒。

<?php 
echo '<head> 
    <script type="text/javascript"> 
     function advance() { 
      var txt = parseInt(document.getElementById("timertext").innerHTML); 
      document.getElementById("timertext").innerHTML = txt + 1; 
      if(txt != 89) { 
       setTimeout("advance()", 1000); 
      } 
     } 
    </script> 
<head> 
<body onload="advance()"> 
    <span id="timertext">1</span> 
</body>'; 
?> 
+0

這看起來似乎不僅僅是合乎邏輯的工作,儘管我現在很困惑。有兩件事: –

+0

(1) - 無論txt是什麼,它會在其末尾加1,就好像它是一個字符串。我試着把它變成一個int,儘管這樣會停止添加一個int,所以我該如何解決這個問題呢?另外,如何設置90秒的上限以便發生這種情況? 感謝您的幫助到目前爲止,非常感謝 –

+0

@BateWes啊,好吧,我不每天都使用JavaScript,所以我不記得在數字字符串和數字之間使用+運算符的效果(不幸的是,似乎它沒有預期的效果)。對於問題2,當數字達到90時,我忘了限制它。我編輯了上面的代碼以反映這些更改。 – LS97