Javascript (js) 倒计时显示当年剩下的天时分秒


一道JS大面试题

题目在网页里倒计时显示当年剩下的天时分秒,格式:XX年还剩下X天X时X分X秒

        ( function () {
            
var  day  =  hour  =  minitus  =  second  =  ms  =   0 ;
            
var  year  =   new  Date().getFullYear()  +   1 ;
            
var  tmp  =   new  Date(year,  0 1 -   new  Date(); day  =  Math.floor(tmp  /   86400000 );
            (
function () {
                tmp 
=  ( new  Date(year,  0 1 -   new  Date())  %   86400000 ;
                hour 
=  Math.floor(tmp  /   3600000 );
                tmp 
%=   3600000 ;
                minitus 
=  Math.floor(tmp  /   60000 );
                tmp 
%=   60000 ;
                second 
=  Math.floor(tmp  /   1000 );
                ms 
=  tmp  -   1000   *  second;
                
                document.getElementById(
" m1 " ).innerHTML  =   " 距离 "   +  year  +   " 年还有  "   +  day  +   "  天  "   +  hour  +   "  小时  "   +  minitus  +   "  分  "   +  second  +   "  秒  "   +  ms;
                setTimeout(arguments.callee, 
50 );
            })(); 
        })();

 

 

为了优化代码,day只计算了一次。hour,minitus,second,ms则放在里层反复计算

ExpandedBlockStart.gif 一道JS大面试题
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html  xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312"   />
< title > 一道JS面试题 </ title >
< style >
body
{
 font-size
: 12px ;
 font-family
: "微软雅黑" ;
 line-height
: 1.8 ;
}
</ style >
</ head >

< body >
< h3 > 一道JS大面试题 </ h3 >
< p > 题目在网页里倒计时显示当年剩下的天时分秒,格式:XX年还剩下X天X时X分X秒 </ p >
< div  id ="m1" ></ div >
< script  type ="text/javascript" >
(
function (){
 
var  day = hour = minitus = second = ms = 0 ;
 
var  year = new  Date().getFullYear() + 1 ;
 
var  tmp = new  Date(year, 0 , 1 ) - new  Date();
 day
= Math.floor(tmp / 86400000);
 ( function (){
  tmp
= ( new  Date(year, 0 , 1 ) - new  Date()) % 86400000 ;
  hour
= Math.floor(tmp / 3600000);
  tmp %= 3600000 ;
  minitus
= Math.floor(tmp / 60000);
  tmp %= 60000 ;
  second
= Math.floor(tmp / 1000);
  ms = tmp - 1000 * second;
  
  document.getElementById(
" m1 " ).innerHTML = " 距离 " + year + " 年还有  " + day + "  天  " + hour + "  小时  " + minitus + "  分  " + second + "  秒  " + ms;
  setTimeout(arguments.callee,
50 );
 })();
})();
</ script >
</ body >
</ html >

 




转载于:https://www.cnblogs.com/didi/archive/2010/04/19/1715409.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值