代码改变世界

Javascript倒计时

2013-11-02 20:08  youxin  阅读(843)  评论(0编辑  收藏  举报

倒计时跳转页面:

<title>JS倒计时网页自动跳转代码</title>  
<script language="JavaScript" type="text/javascript">
 function delayURL(url) {
  var delay = document.getElementById("time").innerHTML;//最好加个parseInt
  if(delay > 0) {
    delay--;
    document.getElementById("time").innerHTML = delay;
  } else {
   window.top.location.href = url;
  }
  setTimeout("delayURL('" + url + "')", 1000);
 }
</script>
<span id="time" style="background: #00BFFF">3</span>秒钟后自动跳转,如果不跳转,请点击下面的链接<a href="http://www.jb51.net">我的百度</a>
<script type="text/javascript">
delayURL("http://www.jb51.net");
</script>

注意:

setTimeout("delayURL('" + url + "')", 1000);

delayURL后面一定要加单引号,否则报错。
我们这里的url为一个字符串.

小时倒计时:
<SCRIPT LANGUAGE="JavaScript">    
<!--    
var maxtime = 60*60 //一个小时,按秒计算,自己调整!    
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;    
}    
else{    
  clearInterval(timer);    
  alert("时间到,结束!");    
}    
}    
timer = setInterval("CountDown()",1000);    
//-->    
</SCRIPT>    
<div id="timer" style="color:red"></div>  


另一种倒计时:
function count()
{
    var startTime=new Date();
    var endTime=startTime.getTime()+5*60*1000;
    function remainTime()
    {
        var nowTime=new Date();
        var nMS=endTime-nowTime.getTime();
        var nM=Math.floor(nMS/(60*1000));
        var nS=Math.floor((nMS/1000))%60;
        if(nM==0 && nS==0)
        {
            alert("结束");
        }
    if(nS < 10) nS = "0" + nS;
if(nMS>=0) { document.getElementById("timer").innerHTML=nM+"分"+nS+"秒"; setTimeout(remainTime,1000); } } remainTime(); }

我们每次都会求出

当前时间与规定到期时间差值,单位为秒。

然后将秒转化为几分几秒。

 

 

网页中实现一个计算当年还剩多少时间的倒数计时程序,要求网页上实时动态显示“××年还剩××天××时××分××秒”
<body>
<input type="text" value="" id="input" size="1000"/>
<script type="text/javascript">
function counter() {
var date = new Date();
var year = date.getFullYear();
var date2 = new Date(year, 12, 31, 23, 59, 59);
var time = (date2 - date)/1000;
var day =Math.floor(time/(24*60*60)) var hour = Math.floor(time%(24*60*60)/(60*60)) var minute = Math.floor(time%(24*60*60)%(60*60)/60); var second = Math.floor(time%(24*60*60)%(60*60)%60); var str = year + "年还剩"+day+"天"+hour+"时"+minute+"分"+second+"秒"; document.getElementById("input").value = str; } window.setInterval("counter()", 1000); </script> </body> </html>
getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。 1 3
getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。 1 3
getMonth() 从 Date 对象返回月份 (0 ~ 11)。 1 3
getFullYear() 从 Date 对象以四位数字返回年份。 1 4
getYear() 请使用 getFullYear() 方法代替。 1 3
getHours() 返回 Date 对象的小时 (0 ~ 23)。 1 3
getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。 1 3
getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。 1 3
getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。 1 4
getTime() 返回 1970 年 1 月 1 日至今的毫秒数。

只有getDate()是从1开始。

 

参考:

http://www.52jscn.com/web/2013/09/6416.shtml

更多:

http://blog.csdn.net/damys/article/details/8528439