我想在php中循环输出一个倒计时的程序,但是把js代码放在循环体里面之后发现只在第一次循环里输出了倒计时,剩下的没有输出,请问高手高手这个怎么解决?
代码如下:
<?php
for($i = 0;$i <4;$i ++){
echo "
<span id='times'></span>
<SCRIPT LANGUAGE='JavaScript'>
function _fresh()
{
var endtime=new Date('December 20, 2012 20:00:00');
var nowtime = new Date();
var leftsecond=parseInt((endtime.getTime()-nowtime.getTime())/1000);
if(leftsecond<0){leftsecond=0;}
__d=parseInt(leftsecond/3600/24);
__h=parseInt((leftsecond/3600)%24);
__m=parseInt((leftsecond/60)%60);
__s=parseInt(leftsecond%60);
document.getElementById('times').innerHTML=__d+'天'+__h+'小时'+__m+'分'+__s+'秒';
}
_fresh()
setInterval(_fresh,1000);
</SCRIPT>
";
}
?> 

解决方案 »

  1.   

    我是刚刚接触php,js了解的不多,请高手给解决下,谢谢啦
      

  2.   

    如果说你什么都不懂的话,你肯定要不高兴的但是你产生这样的 html
    <span id='times'></span>
    <span id='times'></span>
    <span id='times'></span>
    <span id='times'></span>又能让人说什么呢?
      

  3.   

    真的不懂啊,大哥,我只是按照php的教程学了3周,其他的都是刚刚接触...
    html只是接触了常用的那些东西,span标签没有用过,我这个倒计时的js是从网上找的...
    求详细说明,谢谢
      

  4.   

    人是不可能一口吃成胖子的
    学习是一个循序渐进的过程。
    <?php
    for($i = 0;$i <4;$i ++){
    echo "<span id='times$i'>$i</span><br />";
    }
    ?>
    <SCRIPT LANGUAGE='JavaScript'>
    <?php echo "num = $i;"; ?> 
    function _fresh()
    {
    var endtime=new Date('December 20, 2012 20:00:00');
    var nowtime = new Date();
    var leftsecond=parseInt((endtime.getTime()-nowtime.getTime())/1000);
    if(leftsecond<0){leftsecond=0;}
    __d=parseInt(leftsecond/3600/24);
    __h=parseInt((leftsecond/3600)%24);
    __m=parseInt((leftsecond/60)%60);
    __s=parseInt(leftsecond%60);
    for(i=0; i<num; i++)
      document.getElementById('times'+i).innerHTML=__d+'天'+__h+'小时'+__m+'分'+__s+'秒';
    }
    _fresh()
    setInterval(_fresh,1000);
    </SCRIPT>
      

  5.   

    按js的输出,虽然span标签里为空,但是能输出倒计时的,你可以自己运行下试试
      

  6.   

    额,是我看错了,这样就好了,谢谢啊
    新手求深入交流,能加你好友么,xuzuning?
    我Q:361644415