原生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 相关文章推荐
漂亮的jquery提示效果(仿腾讯弹出层)
Feb 05 Javascript
JQuery中dataGrid设置行的高度示例代码
Jan 03 Javascript
在HTML代码中使用JavaScript代码的例子
Oct 16 Javascript
Jquery判断radio、selelct、checkbox是否选中及获取选中值方法总结
Apr 15 Javascript
Jquery实现动态切换图片的方法
May 18 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
Jan 18 Javascript
Bootstrap Modal遮罩弹出层(完整版)
Nov 21 Javascript
Javascript for in的缺陷总结
Feb 03 Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
Apr 28 Javascript
小程序数据通信方法大全(推荐)
Apr 15 Javascript
ionic+html5+API实现双击返回键退出应用
Sep 17 Javascript
node.js文件的复制、创建文件夹等相关操作
Feb 05 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
smarty中英文多编码字符截取乱码问题解决方法
2014/10/28 PHP
jQuery 类twitter的文本字数限制带提示效果插件
2010/04/16 Javascript
通过正则表达式实现表单验证是否为中文
2014/02/18 Javascript
jQuery实现的Div窗口震动特效
2014/06/09 Javascript
基于jquery实现瀑布流布局
2020/06/28 Javascript
分步解析JavaScript实现tab选项卡自动切换功能
2016/01/25 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
Document.body.scrollTop的值总为零的快速解决办法
2016/06/09 Javascript
JavaScript简单获取系统当前时间完整示例
2016/08/02 Javascript
jQuery Ztree行政地区树状展示(点击加载)
2016/11/09 Javascript
原生Aajax 和jQuery Ajax 写法个人总结
2017/03/24 jQuery
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
2017/06/30 Javascript
JS轮播图实现简单代码
2021/02/19 Javascript
angular4 共享服务在多个组件中数据通信的示例
2018/03/30 Javascript
打通前后端构建一个Vue+Express的开发环境
2018/07/17 Javascript
在Layui 的表格模板中,实现layer父页面和子页面传值交互的方法
2019/09/10 Javascript
layui使用templet格式化表格数据的方法
2019/09/16 Javascript
Vue.set 全局操作简单示例
2019/09/19 Javascript
Angular利用HTTP POST下载流文件的步骤记录
2020/07/26 Javascript
[05:04]完美世界携手游戏风云打造 卡尔工作室地图界面篇
2013/04/23 DOTA
Python中urllib+urllib2+cookielib模块编写爬虫实战
2016/01/20 Python
Python常用字符串替换函数strip、replace及sub用法示例
2018/05/21 Python
探秘TensorFlow 和 NumPy 的 Broadcasting 机制
2020/03/13 Python
python matplotlib imshow热图坐标替换/映射实例
2020/03/14 Python
python读取配置文件方式(ini、yaml、xml)
2020/04/09 Python
python的flask框架难学吗
2020/07/31 Python
远程Wi-Fi宠物监控相机:Petcube
2017/04/26 全球购物
快餐店的创业计划书范文
2014/01/29 职场文书
个人政风行风自查自纠报告
2014/10/21 职场文书
男方婚礼答谢词
2015/01/20 职场文书
新学期开学寄语2016
2015/12/04 职场文书
校运会班级霸气口号
2015/12/24 职场文书
2016年社会管理综治宣传月活动总结
2016/03/16 职场文书
导游词之杭州西湖
2019/09/19 职场文书
解决redis批量删除key值的问题
2022/03/23 Redis
使用 Docker Compose 构建复杂的多容器App
2022/04/30 Servers