定时器插件

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>


<style>
*{padding: 0;margin: 0;}


.time-wapper { 
overflow: hidden;
margin:200px auto;
width: 250px;
/*height: 30px*/
}
.time-wapper span{
display: block;
float: left;
width: 40px;
height: 40px;
line-height: 40px;
text-align: center;
font-size: 16px;
border-radius: 5px;
}
.time-wapper .time{
background: #000;
color: #fff;
}
.time-wapper .ry-sign{
/*padding: 0 5px;*/
width: 20px ;
font-size: 10px;
color: #000 ;
font-weight: bold;
}
#a{
width: 100px;
height: 200px;
background:#000;
}
</style>


</head>
<body>
<div id="a"></div>
<div class="time-wapper">
<span id="d" class="time"></span>


<span class="ry-sign">天</span>


<span id="h" class="time"></span>


<span class="ry-sign">时</span>


<span id="i" class="time"></span>


<span class="ry-sign">分</span>


<span id="s" class="time"></span>


<span class="ry-sign">秒</span>
</div>
<script>
/*
d: 2018, //年 ,默认当前年 ,选填
m: 5,// 月 ,默认当前月 ,选填
d: 24,// 日 ,默认当前日期, 选填
h: 20, //小时,必填 
mi: 0,//分 ,默认0 ,选填
s:0//秒,默认0,选填


sign: 时间之间的标记,true为默认,显示冒号 :
                      false,显示 天,时,分 秒
*/
countDown({
y: 2018, //年 ,默认当前年 ,选填
m: 5,// 月 ,默认当前月 ,选填
d: 28,// 日 ,默认当前日期, 选填
h: 10, //小时,必填 
mi: 3,//分 ,默认0 ,选填
},false);
    function  countDown(time,sign = true){


    let nowTime = new Date();


    time.y = time.y || nowTime.getFullYear() ;


time.m = time.m || nowTime.getMonth() + 1 ;


time.d = time.d ||  nowTime.getDate() ;


time.s = time.s || 0 ;


time.mi = time.mi || 0 ;


    nowTime = nowTime.getTime();


    let signarr= sign ? [':',':',':','']:['天','时','分','秒']


    let $sign = document.getElementsByClassName('ry-sign');


    $sign[0].innerHTML = signarr[0] ;


    $sign[1].innerHTML = signarr[1] ;


    $sign[2].innerHTML = signarr[2] ;


    $sign[3].innerHTML = signarr[3] ;


let t = new Date(`${ time.y }-${ time.m }-${ time.d } ${ time.h }: ${ time.mi }: ${time.s}`).getTime() - nowTime;


let zeroize = (number) =>{ return  number*1 < 10 ? '0'+number : number } //补零


let d = Math.floor(t/1000/60/60/24);//天

let h = Math.floor(t/1000/60/60%24);//时


let i = Math.floor(t/1000/60%60); //分


let s = Math.floor(t/1000%60); //秒


let $d = document.getElementById('d'),
$h = document.getElementById('h'),
$i = document.getElementById('i'),
$s = document.getElementById('s');
$d.innerHTML = t<= 0 ? '00' : zeroize( d );


$h.innerHTML = t<= 0 ? '00' : zeroize( h );


$i.innerHTML = t<= 0 ? '00': zeroize( i );


$s.innerHTML = t<= 0 ? '00' : zeroize( s );


let timer = null ;


timer = setTimeout(function(){ countDown(time,sign) }, 1000) ;


if( t <= 0 ){ clearTimeout(timer) } ;


let $time = document.getElementsByClassName('time-wapper')[0];


$time.style.lineHeight = $time.clientHeight +'px' ;
    } 
</script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值