<SCRIPT LANGUAGE="JavaScript">
<!--
var sec
var id
function begin()
{ sec = form1.sec.value;
id = window.setInterval("ref()",1000);
}function ref()
{
sec--; document.all.t1.innerText="剩余:"+sec + "秒";
document.all.t2.innerText="剩余:"+(sec/60) + "分 " + sec % 60 + "秒"; if( sec == 0 ) {
window.clearInterval(tid);
alert( "完毕" );
}
}
//-->
</SCRIPT>
<body>
<form name=form1>
<input name=sec>秒
<input type=button name=b1 value="begin" onclick="begin();">
</form>
<div id=t1></div>
<br>
<div id=t2></div>关于小数问题,忘了怎么弄了,可以自己查查。

解决方案 »

  1.   

    <script language=JavaScript>
    var time_start = new Date();
    var clock_start = time_start.getTime();
    function get_time_spent ()
    {
        var time_now = new Date();
        return((time_now.getTime() - clock_start)/1000); //停留时间毫秒->秒
    }
    function show_secs (iSecond)
    {
        //计时时间为iSecond秒
       var i_total_secs = iSecond-Math.round(get_time_spent());  //Math.round取整.
       if(i_total_secs<0){alert("时间到");return true;}
       var i_secs_spent = i_total_secs % 60; 
       var i_mins_spent = parseInt(i_total_secs/60);
       var i_hours_spent = parseInt(i_total_secs/3600);
       var s_secs_spent = "" + ((i_secs_spent>9) ? i_secs_spent : "0" + i_secs_spent);
       var s_mins_spent = "" + ((i_mins_spent>9) ? i_mins_spent : "0" + i_mins_spent);
       var s_hours_spent = "" + ((i_hours_spent>9) ? i_hours_spent : "0" + i_hours_spent);
       document.fm0.time_spent.value = s_hours_spent + ":" + s_mins_spent + ":" + s_secs_spent;
       timer = window.setTimeout('show_secs('+iSecond+')',1000);   
       //1000毫秒运行show_secs()一次.达到动态变化的效果 
    }
    </script>
    <body onload="show_secs(10)">
    <form name="fm0">
    <input type="text" name="time_spent">
    </form>