知识要点

1.实现原理:

用结束时间-当前时间=时间差

当前时间每过1秒时间差自然也就少了1秒

所以要1秒更新一次当前时间就达到了倒计时的效果

2.需要注意的就是时间之间的转换和对得出数值的处理

3.用到的方法:

obj.getTime() //换算成毫秒

Math.floor() //把小数点向下舍入结果取一个整数

50%24 // 这是对数值求余的方法,意思是 假如有50个小时,一天24个小时 这个得出的结果就是 余数是2

具体的数值的运算处理完整代码里有详细的注释

完整代码

注:代码附带显示当前时间的标准格式以及倒计时天数

demo

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;}

//在页面加载完后立即执行多个函数完美方案。

function addloadEvent(func){

var oldοnlοad=window.onload;

if(typeof window.onload !="function"){

window.οnlοad=func;

}

else{

window.οnlοad=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+"天";

}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

html计时节日,原生js实现节日时间倒计时功能相关推荐

  1. js html转盘点名,原生JS实现简易随机点名功能

    定时器的工作原理,这里将用引用How JavaScript Timers Work中的例子来解释定时器的工作原理,该图为一个简单版的原理图.· 上图中,左侧数字代表时间,单位毫秒:左侧文字代表某一个操 ...

  2. android京东秒杀倒计时,js实现京东秒杀倒计时功能

    本文实例为大家分享了js实现京东秒杀倒计时功能的具体代码,供大家参考,具体内容如下 首先给大家看看效果图,因为是做的移动端的,所以放大给大家看看局部就行: 关于实现京东秒杀,之前用过其他的方法,今天给 ...

  3. php京东秒杀,js实现京东秒杀倒计时功能

    本文实例为大家分享了js实现京东秒杀倒计时功能的具体代码,供大家参考,具体内容如下 首先给大家看看效果图,因为是做的移动端的,所以放大给大家看看局部就行: 关于实现京东秒杀,之前用过其他的方法,今天给 ...

  4. QT QTimer定时器显示系统时间倒计时功能

    QT定时器显示系统时间倒计时功能 lcdNumber控件显示 QTimer::singleShot(10000,this,&MainWindow6_6::close);//10秒后窗口自动关闭 ...

  5. java设定时间实现倒计时_Java 获取当前时间及实现时间倒计时功能【推荐】

    引言 在一些项目中或是一些特殊的业务场景中,需要用到 pageEncoding="utf-8"%> 时间倒计时 var leftTime=6000zvOJh00; // 10 ...

  6. 原生js、jQuery实现选项卡功能

    在大家在网上平常浏览网页的时候,想必各位都会看到选项卡功能,在这里给大家详解一下用原生js.jQuery如何来写一些基本的选项卡 话不多说,先给各位看一下功能图:              好了,下边 ...

  7. js php 获取时间倒计时_,JS实现获取时间和设置倒计时代码分享

    本文主要和大家分享JS实现获取时间和设置倒计时代码,希望能帮助到大家. 只做笔记记录一下,主要用到Date 和 setInterval 第一个倒计时的设置: var timeBox = documen ...

  8. js实现指定时间倒计时时间效果

    指定时间倒计时 div页 <div id="a">离2020还剩下<span></span><span></span>& ...

  9. 原生JS项目练习——tab选项卡功能

    一.主要功能介绍: 1.写UI结构 2.获取元素 3.for循环遍历数组,给每一个li添加一个index属性并赋值.(原因等会会总结) 4.绑定鼠标的mousemove事件,鼠标移到某个模块,将该模块 ...

最新文章

  1. 【Flask】视图高级
  2. Spring基础专题——第一章(第一个Spring程序)
  3. 2021.9.6 跑FICS【当时的经验】
  4. 张鑫 css,元素有高度 但是css设置背景色不显示
  5. (转)shiro权限框架详解05-shiro授权
  6. 冷知识 —— 文学(名与字)
  7. with grant option 与with admin option的区别
  8. Lambda表达式公共拼接函数(原创)
  9. stata学习之空间权重矩阵制作
  10. 宠物商店 - MLDN 李兴华老师
  11. 建立数学模型论文写作
  12. 泛微OA流程明细表取值并校验
  13. 计算机应用多媒体设计是学什么的,数字媒体艺术设计专业是学什么?
  14. VLAN端口类型(access、Trunk、Hybrid)
  15. SQL的删除语句delete(删除表中的数据)
  16. Word技巧:如何使用正则表达式高效替换
  17. 数据库原理-几种数据模型
  18. thrift 技术分享待续
  19. 软件开发中UI设计需要注意什么?
  20. 26.空寂无求,禅意悠远

热门文章

  1. centos transmission 无法开启登录验证
  2. NTP时间同步服务器报错:no server suitable for synchronization found
  3. 一段C语言和汇编的对应分析,揭示函数调用的本质
  4. windows 2008 r2 mysql 速度很慢_Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法...
  5. Java 使用匿名内部类在方法内部定义并启动线程
  6. 如何使用Linux内核中没有被导出的变量或函数
  7. oel6mysql_Linux7(CentOS,RHEL,OEL)和 Oracle RAC环境系列4:target(图形
  8. php 根据位置显示地图,php通过地址获得百度地图经纬度(地理编码)
  9. 计算机基础资料管理办法,计算机基础知识试题(答案_)资料.doc
  10. mysql sql variant_SQL 数据类型