迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 >

网页中的倒计时原理

作者:嫣然 最近更新:2022/11/13 浏览次数:

在网页中我们可以看到很多的倒计时效果,这个实现原理也很简单。
 

倒计时指的是距离未来某个时间点的时间间隔。
 

所以:剩余时间=未来时间-现在时间;
 

我们分析一下:现在的时间点是变的,未来的某个时间点是不变的,所以剩余时间是一直变化的。我们假设有一个变量t
 

Var iNow=new Date();  //现在时间
Var iNew=new Date(2015,11,18,9,0,0); //未来某个时间点


说明:创建Date时间对象参数


数字形式:new Date(2015,11,18,9,0,0)   //其中月份从0开始计算的
 

字符串形式:new Date(“december 12,2015 8:53:12”)
 

剩余时间var t=Math.floor((iNew-iNow)/1000)
 

下面分别计算天,时,分,秒
 

天:Math.floor(t/86400)
时:Math.floor(t%86400/3600)
分:Math.floor(t%86400%3600/60)
秒:Math.floor(t%60)


我们定义一个字符串用来暂时存储剩余时间
 

Var str=Math.floor(t/86400+”天”+Math.floor(t%86400/3600)+”时”
+Math.floor(t%86400%3600/60)+”分”+Math.floor(t%60)+”秒”


我们先把这个时间放在网页中:
 

Var body=document.body;
body.innerHTML=str;



现在有一个问题,这个时间是固定不变的,只有刷新一次才变一次,我们不可能做到每次都刷新页面看剩余时间,我们希望的是过一秒就变一次,这就用到了js中的定时器setinterval
结果如下:
 

<script>
window.onload=function(){
       var obody=document.body;
       var iNew = new Date(2015,11,18,15,50,40);
       var iNow=null;
       var t=0;
       var str="";
       setInterval(function(){
              iNow = new Date();
              t = Math.floor((iNew - iNow)/1000);
              str = Math.floor(t/86400)+'天'+Math.floor(t%86400/3600)+'时'+Math.floor(t%86400%3600/60)+'分'+t%60+'秒';
              obody.innerHTML=str; 
       }, 1000)
      
}
</script>


以上只是倒计时的一个简单的实现原理,当然网上还有各种各样的倒计时效果,但是万变不离其宗,只要掌握了原理,实现其他的效果才更容易上手,望我们在web前端这条道路上共勉。
 

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

gulp学习之察言观色watch函数

发布时间:2017/04/15 浏览次数:1126 分类:WEB前端

gulp.watch函数是用来监听文件的变化,当文件发生变化以后,可以通过回调函数或者指定的任务执行相应的内容。

gulp学习之你来我往 src和dest函数

发布时间:2017/04/13 浏览次数:4467 分类:WEB前端

gulp无疑是我接触过的最简单易用的。其配置参数简单,并且学习起来也很容易。本章介绍其两个函数src和dest。

Sweetalert详细介绍

发布时间:2017/01/10 浏览次数:6155 分类:WEB前端

Sweetalert是一款前端用的提示框插件,它提供了炫彩的形式,使我们的网页效果更加丰富。

简单7步让你成为一名优秀的Web开发人员

发布时间:2016/03/03 浏览次数:517 分类:观点与感想

你想成为一名Web开发人员,有一个问题,在技术行业还没有经验。你可能上了很多课程并且也写了很多个人项目,但是简历上经验一栏却始终和你没有什么关系。转型到一个新的领域并

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便