<script language="JavaScript"> 
<!-- hide script from old browser
var DifferenceHour = -1
var DifferenceMinute = -1
var DifferenceSecond = -1
var Tday = new Date("December 23, 2011 18:08:00:")   //**倒计时时间点-注意格式
var daysms = 24 * 60 * 60 * 1000
var hoursms = 60 * 60 * 1000
var Secondms = 60 * 1000
var microsecond = 1000 
function clock()
{
var time = new Date()
var hour = time.getHours()
var minute = time.getMinutes()
var second = time.getSeconds()
var timevalue = ""+((hour > 12) ? hour-12:hour)
timevalue +=((minute < 10) ? ":0":":")+minute
timevalue +=((second < 10) ? ":0":":")+second
timevalue +=((hour >12 ) ? " PM":" AM")
// document.formnow.now.value = timevalue
var convertHour = DifferenceHour
var convertMinute = DifferenceMinute
var convertSecond = DifferenceSecond
var Diffms = Tday.getTime() - time.getTime()
DifferenceHour = Math.floor(Diffms / daysms)
Diffms -= DifferenceHour * daysms
DifferenceMinute = Math.floor(Diffms / hoursms)
Diffms -= DifferenceMinute * hoursms
DifferenceSecond = Math.floor(Diffms / Secondms)
Diffms -= DifferenceSecond * Secondms
var dSecs = Math.floor(Diffms / microsecond)
if(convertHour != DifferenceHour) document.formnow.dd.value=DifferenceHour
if(convertMinute != DifferenceMinute) document.formnow.hh.value=DifferenceMinute
if(convertSecond != DifferenceSecond) document.formnow.mm.value=DifferenceSecond
document.formnow.ss.value=dSecs
// document.formnow.Tnow.value= DifferenceHour DifferenceMinute + DifferenceSecond + dSecs
setTimeout("clock()",1000)

// end hiding --> 
</script>
<form name="formnow">
<input name="dd" type=hidden style="border:0;font-size:25px;font-weight:bold;color:#FF0000;width:33px;height:30px;text-align:center; padding-top:5px;" >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input name="hh" type="text" style="border:0;font-size:25px;font-weight:bold;color:#FF0000;width:33px;height:30px;text-align:center; padding-top:5px;" >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input name="mm" type="text" style="border:0;font-size:25px;font-weight:bold;color:#FF0000;width:33px;height:30px;text-align:center; padding-top:5px;" >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input name="ss" type="text" style="border:0;font-size:25px;font-weight:bold;color:#FF0000;width:33px;height:30px;text-align:center; padding-top:5px;" >&nbsp; 
</form>
这是个倒计时代码但是这个是时间到了也会一直继续重复倒计的  
如何修改  设定时间  到了那个时间 就不在倒计呢 而且是不管页面关闭重新打开还是刷新,都不会继续倒计,除非是时间重新设定了。。

解决方案 »

  1.   

    倒计时结束的时候使用clearInterval()方法,清楚
    <body>
        <input name="dd" type="hidden" style="border: 0; font-size: 25px; font-weight: bold;
            color: #FF0000; width: 33px; height: 33px; text-align: center; padding-top: 5px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <input name="hh" type="text" style="border: 0; font-size: 25px; font-weight: bold;
            color: #FF0000; width: 33px; height: 33px; text-align: center; padding-top: 5px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <input name="mm" type="text" style="border: 0; font-size: 25px; font-weight: bold;
            color: #FF0000; width: 33px; height: 33px; text-align: center; padding-top: 5px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <input name="ss" type="text" style="border: 0; font-size: 25px; font-weight: bold;
            color: #FF0000; width: 63px; height: 33px; text-align: center; padding-top: 5px;">&nbsp;
        <script type="text/javascript">
            var DifferenceHour = -1;
            var DifferenceMinute = -1;
            var DifferenceSecond = -1;
            var Tday = new Date("December 23, 2011 18:08:00:");  //**倒计时时间点-注意格式
            var daysms = 24 * 60 * 60 * 1000;
            var hoursms = 60 * 60 * 1000;
            var Secondms = 60 * 1000;
            var microsecond = 1000;
            var countdown = null;
            function clock() {
                if (parseInt(DifferenceHour) === 0 && parseInt(DifferenceMinute) === 0 && parseInt(DifferenceSecond) === 0) {
                    clearInterval(countdown);
                }
                var time = new Date();
                var hour = time.getHours();
                var minute = time.getMinutes();
                var second = time.getSeconds();
                var timevalue = "" + ((hour > 12) ? hour - 12 : hour);
                timevalue += ((minute < 10) ? ":0" : ":") + minute;
                timevalue += ((second < 10) ? ":0" : ":") + second;
                timevalue += ((hour > 12) ? " PM" : " AM");
                var convertHour = DifferenceHour;
                var convertMinute = DifferenceMinute;
                var convertSecond = DifferenceSecond;
                var Diffms = Tday.getTime() - time.getTime();
                DifferenceHour = Math.floor(Diffms / daysms);
                Diffms -= DifferenceHour * daysms;
                DifferenceMinute = Math.floor(Diffms / hoursms);
                Diffms -= DifferenceMinute * hoursms;
                DifferenceSecond = Math.floor(Diffms / Secondms);
                Diffms -= DifferenceSecond * Secondms;
                var dSecs = Math.floor(Diffms / microsecond);
                if (convertHour != DifferenceHour) document.getElementsByName("dd")[0].value = DifferenceHour;
                if (convertMinute != DifferenceMinute) document.getElementsByName("hh")[0].value = DifferenceMinute;
                if (convertSecond != DifferenceSecond) document.getElementsByName("mm")[0].value = DifferenceSecond;
                document.getElementsByName("ss")[0].value = dSecs;
                // document.formnow.Tnow.value= DifferenceHour DifferenceMinute + DifferenceSecond + dSecs
            }
            countdown = setInterval(clock, 1000);
        </script>
    </body>