原生JS实现简单的倒计时功能示例


Posted in Javascript onAugust 30, 2018

本文实例讲述了原生JS实现简单的倒计时功能。分享给大家供大家参考,具体如下:

1、第一种

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>3water.com JS倒计时</title>
</head>
<body>
<div id="div"></div>
<script type="text/javascript">
window.onload=clock;
function clock(){
var today=new Date(),//当前时间
    h=today.getHours(),
    m=today.getMinutes(),
    s=today.getSeconds();
  var stopTime=new Date("Feb 9 2019 00:00:00"),//结束时间
    stopH=stopTime.getHours(),
    stopM=stopTime.getMinutes(),
    stopS=stopTime.getSeconds();
  var shenyu=stopTime.getTime()-today.getTime(),//倒计时毫秒数
    shengyuD=parseInt(shenyu/(60*60*24*1000)),//转换为天
    D=parseInt(shenyu)-parseInt(shengyuD*60*60*24*1000),//除去天的毫秒数
    shengyuH=parseInt(D/(60*60*1000)),//除去天的毫秒数转换成小时
    H=D-shengyuH*60*60*1000,//除去天、小时的毫秒数
    shengyuM=parseInt(H/(60*1000)),//除去天的毫秒数转换成分钟
    M=H-shengyuM*60*1000;//除去天、小时、分的毫秒数
    S=parseInt((shenyu-shengyuD*60*60*24*1000-shengyuH*60*60*1000-shengyuM*60*1000)/1000)//除去天、小时、分的毫秒数转化为秒
    document.getElementById("div").innerHTML=(shengyuD+"天"+shengyuH+"小时"+shengyuM+"分"+S+"秒"+"<br>");
    // setTimeout("clock()",500);
    setTimeout(clock,500);
}
</script>
</body>
</html>

运行效果:

原生JS实现简单的倒计时功能示例

2、第二种

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>3water.com js倒计时</title>
  <style>
    *{
      margin: 0;
      padding:0;
    }
    p {
      font-size: 80px;
      text-align: center;
    }
    p span {
      color: red;
    }
    p span.time {
      color: black
    }
    body{padding-top:200px;}
  </style>
</head>
<body>
<p>距离2019年还有</p>
<p><span></span></p>
<script>
  var oSpan = document.getElementsByTagName('span')[0];
  function tow(n) {
    return n >= 0 && n < 10 ? '0' + n : '' + n;
  }
  function getDate() {
    var oDate = new Date();//获取日期对象
    var oldTime = oDate.getTime();//现在距离1970年的毫秒数
    var newDate = new Date('2019/1/1 00:00:00');
    var newTime = newDate.getTime();//2019年距离1970年的毫秒数
    var second = Math.floor((newTime - oldTime) / 1000);//未来时间距离现在的秒数
    var day = Math.floor(second / 86400);//整数部分代表的是天;一天有24*60*60=86400秒 ;
    second = second % 86400;//余数代表剩下的秒数;
    var hour = Math.floor(second / 3600);//整数部分代表小时;
    second %= 3600; //余数代表 剩下的秒数;
    var minute = Math.floor(second / 60);
    second %= 60;
    var str = tow(day) + '<span class="time">天</span>'
        + tow(hour) + '<span class="time">小时</span>'
        + tow(minute) + '<span class="time">分钟</span>'
        + tow(second) + '<span class="time">秒</span>';
    oSpan.innerHTML = str;
  }
  getDate();
  setInterval(getDate, 1000);
</script>
</body>
</html>

运行效果:

原生JS实现简单的倒计时功能示例

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码,即可得到上述运行结果。

Javascript 相关文章推荐
网页上的Javascript编辑器和代码格式化
Apr 25 Javascript
基于JavaScript实现 获取鼠标点击位置坐标的方法
Apr 12 Javascript
使用jQuery内容过滤选择器选择元素实例讲解
Apr 18 Javascript
js简单实现根据身份证号码识别性别年龄生日
Nov 29 Javascript
JavaScript移除数组内重复元素的方法
Mar 18 Javascript
JavaScript 性能优化小结
Oct 12 Javascript
全面介绍vue 全家桶和项目实例
Dec 27 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
Mar 23 jQuery
vue.js内置组件之keep-alive组件使用
Jul 10 Javascript
el-select数据过多懒加载的解决(loadmore)
May 29 Javascript
vue实现学生信息管理系统
May 30 Javascript
js实现星星海特效的示例
Sep 28 Javascript
JavaScript fetch接口案例解析
Aug 30 #Javascript
vue组件表单数据回显验证及提交的实例代码
Aug 30 #Javascript
原生JS实现的简单小钟表功能示例
Aug 30 #Javascript
使用Node搭建reactSSR服务端渲染架构
Aug 30 #Javascript
webpack4+Vue搭建自己的Vue-cli项目过程分享
Aug 29 #Javascript
JS实现的input选择图片本地预览功能示例
Aug 29 #Javascript
简述vue状态管理模式之vuex
Aug 29 #Javascript
You might like
《PHP边学边教》(02.Apache+PHP环境配置――下篇)
2006/12/13 PHP
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
2014/05/08 PHP
PHP生成数组再传给js的方法
2014/08/07 PHP
php隐藏实际地址的文件下载方法
2015/04/18 PHP
PHP中用mysqli面向对象打开连接关闭mysql数据库的方法
2016/11/05 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
2019/10/10 PHP
javascript URL编码和解码使用说明
2010/04/12 Javascript
JS如何判断json是否为空
2016/07/06 Javascript
微信小程序  modal弹框组件详解
2016/10/27 Javascript
微信小程序 使用picker封装省市区三级联动实例代码
2016/10/28 Javascript
Vue.js系列之项目搭建(1)
2017/01/03 Javascript
利用JavaScript在网页实现八数码启发式A*算法动画效果
2017/04/16 Javascript
jQuery 实现左右两侧菜单添加、移除功能
2018/01/02 jQuery
vue2中使用less简易教程
2018/03/27 Javascript
jQuery实现仿京东防抖动菜单效果示例
2018/07/06 jQuery
JavaScript实现猜数字游戏
2020/05/20 Javascript
[01:12]DOTA2次级职业联赛 - Newbee.Y 战队宣传片
2014/12/01 DOTA
Python线程指南详细介绍
2017/01/05 Python
python抽取指定url页面的title方法
2018/05/11 Python
使用Flask-Cache缓存实现给Flask提速的方法详解
2019/06/11 Python
PIL图像处理模块paste方法简单使用详解
2019/07/17 Python
python 子类调用父类的构造函数实例
2020/03/12 Python
Python 实现一行输入多个数字(用空格隔开)
2020/04/29 Python
python对接ihuyi实现短信验证码发送
2020/05/10 Python
python+django+selenium搭建简易自动化测试
2020/08/19 Python
PyQt实现计数器的方法示例
2021/01/18 Python
HTML5 canvas基本绘图之绘制曲线
2016/06/27 HTML / CSS
韩国休闲女装品牌网站:ANAIS
2016/08/24 全球购物
法国综合购物网站:RueDuCommerce
2016/09/12 全球购物
Office DEPOT法国官网:欧迪办公用品采购
2018/01/03 全球购物
生物技术研究生自荐信
2013/11/12 职场文书
高三毕业寄语
2014/04/10 职场文书
物业项目经理岗位职责
2015/04/01 职场文书
孔繁森观后感
2015/06/10 职场文书
使用Ajax实现进度条的绘制
2022/04/07 Javascript
Nginx文件已经存在全局反向代理问题排查记录
2022/07/15 Servers