南强小屋 Design By 杰米
知识要点
1.实现原理:
用结束时间-当前时间=时间差
当前时间每过1秒时间差自然也就少了1秒
所以要1秒更新一次当前时间就达到了倒计时的效果
2.需要注意的就是时间之间的转换和对得出数值的处理
3.用到的方法:
obj.getTime() //换算成毫秒 Math.floor() //把小数点向下舍入结果取一个整数 50%24 // 这是对数值求余的方法,意思是 假如有50个小时,一天24个小时 这个得出的结果就是 余数是2
具体的数值的运算处理完整代码里有详细的注释
完整代码
注:代码附带显示当前时间的标准格式以及倒计时天数
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>demo</title>
<style>
body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{margin:0;padding:0;}
h1,h2,h3,h4,h5,h6{font-size:100%;}
address,cite,dfn,em,var{font-style:normal;}
code,kbd,pre,samp{font-family:courier new,courier,monospace;}
ul,ol{list-style:none;}
a{text-decoration:none;}
a:hover{text-decoration:none;}
sup{vertical-align:text-top;}
sub{vertical-align:text-bottom;}
legend{color:#000;}
fieldset,img{border:0;}
button,input,select,textarea{font-size:100%;}
table{border-collapse:collapse;border-spacing:0;}
.clear{clear: both;float: none;height: 0;overflow: hidden;}
</style>
</head>
<body>
<div id="time"></div>
<br/>
<div id="day"></div>
<br/>
<div id="tm"></div>
<script type="text/javascript">
//在页面加载完后立即执行多个函数完美方案。
function addloadEvent(func){
var oldonload=window.onload;
if(typeof window.onload !="function"){
window.onload=func;
}
else{
window.onload=function(){
if(oldonload){
oldonload();
}
func();
}
}
}
addloadEvent(showTime);
addloadEvent(day);
addloadEvent(tb);
//在页面加载完后立即执行多个函数完美方案over。
//天时秒分倒计时
function tb(){
var myDate=new Date();//获取当前时间
var endtime=new Date("2018,1,1");//获取结束时间
//换算成秒 小数点向下舍入取整
var ltime=Math.floor((endtime.getTime()-myDate.getTime())/1000);
//console.log(ltime)
//换算成天 小数点向下舍入取整
var d=Math.floor(ltime/(24*60*60));
//换算成小时取去掉天数的余数(也就是小时) 小数点向下舍入取整
var h=Math.floor(ltime/(60*60)%24);
//换算成分钟取去掉小时的余数(也就是分钟) 小数点向下舍入取整
var m=Math.floor(ltime/60%60);
//换算成分钟取去掉分钟的余数(也就是秒) 小数点向下舍入取整
var s=Math.floor(ltime%60);
document.getElementById("tm").innerHTML="距2018年元旦还有:"+d+"天"+h+"小时"+m+"分钟"+s+"秒";
if(ltime<=0){
document.getElementById("tm").innerHTML="元旦快乐!";
clearTimeout(tb);
}
setTimeout(tb,1000);
}
//当秒数为个位数时前面+字符串0
function checkTime(i){
return i<10"0"+i:""+i;
}
//当前时间标准格式
function showTime(){
var myDate=new Date();//获取当前时间
var year=myDate.getFullYear();//获取年份
var month=myDate.getMonth()+1;//获取月份是0-11的数字所以+1
var date=myDate.getDate();//日
var day=myDate.getDay();//
var h=myDate.getHours();//小时
var m=myDate.getMinutes();//分钟
var s=myDate.getSeconds();//秒
checkTime(m);
checkTime(s);
//console.log(day)
var week="日一二三四五六".charAt(day);
document.getElementById("time").innerHTML=year+"年"+month+"月"+date+"日"+"星期"+week+h+":"+m+":"+s;
setTimeout(showTime,1000);
}
//倒计时天数计算
function day(){
var myDate=new Date();//获取当前时间
var endtime=new Date("2018,1,1");//获取结束时间
//先换算成毫秒再相减就是时间差,再除以一天的毫秒数结果是带有小数点的,用math方法进一位取整
var ltime=Math.ceil((endtime.getTime()-myDate.getTime())/(24*60*60*1000));
document.getElementById("day").innerHTML="距2018年元旦还有:"+ltime+"天";
}
</script>
</body>
</html>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
南强小屋 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
南强小屋 Design By 杰米
暂无原生js实现节日时间倒计时功能的评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。