【问题标题】:Refresh page when timer reaches 0 in JavaScriptJavaScript 中定时器为 0 时刷新页面
【发布时间】:2010-12-22 03:18:03
【问题描述】:
<form name="counter" ><input type="text" size="8" name="d2"></form> 

    <script> 
     var milisec=0 
     var seconds={$wait} 
     document.counter.d2.value='{$wait}' 

    function display(){ 
     if (milisec<=0){ 
        milisec=9 
        seconds-=1 
     } 
     if (seconds<=-1){ 
        milisec=0 
        seconds+=1 
     } 
     else 
        milisec-=1 
        document.counter.d2.value=seconds+"."+milisec 
        document.title=seconds+"."+milisec 
        setTimeout("display()",100) 
    } 

    if (document.counter.d2.value==0){
        location.reload(true)
    }

    display() 

    </script> <br />

{$time} 是计数器开始的秒数。当它达到 0 我希望页面重新加载。我试过了:

 if (document.counter.d2.value==0){
     location.reload(true)
 }

但那没有用..

【问题讨论】:

  • 这不是您问题的答案,但为什么不使用元刷新?
  • 这是伪代码吗? js需要; .为什么不直接使用 setTimeout("refresh()",{$wait})
  • 我猜他想同时显示倒计时。因此他使用输入文本来跟踪剩余时间。
  • @pinichi,我不这么认为。另外,js 不需要 分号。

标签: javascript timer reload counter


【解决方案1】:
<form name="counter" ><input type="text" size="8" name="d2"></form> 

<script> 
 var milisec=0 
 var seconds={$wait} 
 document.counter.d2.value='{$wait}' 

function display(){ 
 if (milisec<=0){ 
    milisec=9 
    seconds-=1 
 } 
 if (seconds<=-1){ 
    milisec=0 
    seconds+=1 
 } 
 else 
    milisec-=1 
    document.counter.d2.value=seconds+"."+milisec 
    document.title=seconds+"."+milisec 
    setTimeout("display()",100) 
}//<-mistake 

if (document.counter.d2.value=="0.0"){ //<- mistaked  
    location.reload(true)
}
} //<- must be here
display() 

</script> <br />

【讨论】:

    【解决方案2】:

    这对你有用吗?

    if (document.counter.d2.value==0){
        window.counter.submit();
    }
    

    要重新加载页面,您必须提交表单。

    【讨论】:

      猜你喜欢
      • 2020-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-28
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多