大家有没有js时间倒计时的(只要 时 分 秒 毫秒)不要天数的,防止刷新的  帮帮小弟

解决方案 »

  1.   

    用cookie存开始时间,刷新以后先读取cookie
      

  2.   

    防刷新的:
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var maxtime;
    if(window.name==''){ 
    maxtime = 60*60;
    }else{
    maxtime = window.name;
    }
    function CountDown(){
    if(maxtime>=0){
    minutes = Math.floor(maxtime/60);
    seconds = Math.floor(maxtime%60);
    msg = "距离结束还有"+minutes+"分"+seconds+"秒";
    document.all["timer"].innerHTML = msg;
    if(maxtime == 5*60) alert('注意,还有5分钟!');
    --maxtime;
    window.name = maxtime; 
    }
    else{
    clearInterval(timer);
    alert("时间到,结束!");
    }
    }
    timer = setInterval("CountDown()",1000);
    //-->
    </SCRIPT>
    <div id="timer" style="color:red"></div> 
      

  3.   

    <SCRIPT LANGUAGE="JavaScript"> 
    <!-- 
    var maxtime; 
    if(window.name==''){ 
    maxtime = 24*60*60; 
    }else{ 
    maxtime = window.name; 

    function CountDown(){ 
    if(maxtime>=0){ 
    sinutes = Math.floor(maxtime/24); 
    minutes = Math.floor(maxtime/60); 
    seconds = Math.floor(maxtime%60); 
    msg = "距离结束还有"sinutes+"时"+minutes+"分"+seconds+"秒"; 
    document.all["timer"].innerHTML = msg; 
    if(maxtime == 5*60) alert('注意,还有5分钟!'); 
    --maxtime; 
    window.name = maxtime; 

    else{ 
    clearInterval(timer); 
    alert("时间到,结束!"); 


    timer = setInterval("CountDown()",1000); 
    //--> 
    </SCRIPT> 
    <div id="timer" style="color:red"> </div> 我加上去 不行, 你帮我看看
      

  4.   

    sinutes = Math.floor(maxtime/24); 这样不行,这样是天不是小时
    /3600,分钟改成Math.floor(s/60) % 60;
      

  5.   

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var maxtime;
    if(window.name==''){ 
    maxtime = 600*360;
    }else{
    maxtime = window.name;
    }
    function CountDown(){
    if(maxtime>=0){
    hour = Math.floor(maxtime/3600);
    minutes = Math.floor(maxtime/60)%60;
    seconds = Math.floor(maxtime%60);
    msg = "距离结束还有"+hour+"小时"+minutes+"分"+seconds+"秒";
    document.all["timer"].innerHTML = msg;
    if(maxtime == 5*60) alert('注意,还有5分钟!');
    --maxtime;
    window.name = maxtime; 
    }
    else{
    clearInterval(timer);
    alert("时间到,结束!");
    }
    }
    timer = setInterval("CountDown()",1000);
    //-->
    </SCRIPT>
    <div id="timer" style="color:red"></div> 这个我测了,正常,改了代码后重新开页面,刷新不行
      

  6.   

    window.name = maxtime;  
    什么意思吗?怎么实现不改变值的,如果我还想 不改变另一个值呢
    function CountDown(){
    if(maxtime>=0){
    minutes = Math.floor(maxtime/60);
    seconds = Math.floor(maxtime%60);
    document.all("StCountdown").value =  minutes + ":" + seconds;
    if(maxtime == 5*60) alert('注意,还有5分钟!');
    --maxtime;
    window.name = maxtime; 
    }
    else
    {
    alert(prolong)
    window.name = maxtime; 
    if(prolong=="")
    {
    clearInterval(timer);
    alert("时间到,结束!");
    check_submit();
    return;
    }
    if(confirm("时间到了,是否延长时间继续填写?"))
    {
    maxtime = prolong*60;
    prolong="";
    }else
    {
    clearInterval(timer);
    alert("时间到,结束!");
    check_submit();
    return;
    }
    }
    }
    这个怎么实现? 现在问题出现在,如果在延长时间后 在刷新的话 还是能够 继续延长的 如果在延长后 不刷新 则就可以实现功能,