2013-08-27 37 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