基于Javascript实现倒计时功能


Posted in Javascript onFebruary 22, 2016

本文实例实现一个倒计时功能. 倒计时功能, 用在项目的发布时间, 或者某个活动做倒计时等等的突出时间功能的方面.
界面代码结构,先要完成好. 这个界面我就不做那么美观了,凑合就行(O(∩_∩)O哈哈~).

基于Javascript实现倒计时功能

代码名称

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>倒计时实现</title>
  <style>
    ul, li {
      margin: 0;
      padding: 0;
      list-style: none;
    }
    #countdown {
      font-size: 50px;;
      width: 350px;
      margin: 0 auto;
      background-image: none;
      color: #fff;
      padding: 100px;
      font-weight: bolder;
    }
    #countdown ul {
      display: flex;
      align-items: flex-start;
      justify-content: center;
    }
    #countdown ul li{
      display: inline-block;
      margin-left: 10px;
    }
    #countdown ul li:last-child {
      margin-right: 10px;
    }

    #countdown ul li strong {
      text-shadow: 5px 5px 5px #000;
    }
    #countdown ul li strong, #countdown ul li span {
      display: block;
      text-align: center;
    }
    #sec {
      color: #ff0000;
      text-shadow: 5px 5px 2px #ff0000;
    }
  </style>
</head>
<body>
  <div id="countdown">
    <ul>
      <li>
        <strong id="day">00</strong>
        <span>天</span>
      </li>
      <li>:</li>
      <li>
        <strong id="hour">00</strong>
        <span>时</span>
      </li>
      <li>:</li>
      <li>
        <strong id="min">00</strong>
        <span>分</span>
      </li>
      <li>:</li>
      <li>
        <strong id="sec">00</strong>
        <span>秒</span>
      </li>
    </ul>
  </div>
</body>
</html>

下面做Javascript的讲解了.

首先设定一个结束时间,时间通过new Date()来进行创建. 这样才能够计算倒计时的时间.

//结束时间
var t_endtime = new Date("2016-05-22 00:00:00");

然后就是换算规则,规则的换算是常理了.

// 时间换算规则
var t_day = 60 * 60 * 24;
var t_hour = 60 * 60;
var t_min = 60;

再次就是通过setInterval来计算当前时间的对比, 因为时间在一秒一秒的过去, 当前时间的获取就在setInterval中进行计算. 当然还得将计算出的结果显示到界面上.

var ele_day = document.getElementById("day");
var ele_hour = document.getElementById("hour");
var ele_min = document.getElementById("min");
var ele_sec = document.getElementById("sec");

setInterval(function () {
  //获取当前时间
  var t_currenttime = new Date();
  //结束时间 - 当前时间 = 剩余时间
  var t_result = t_endtime.getTime() - t_currenttime.getTime();

  //剩余时间换算
  var t_time = Math.floor( t_result / 1000 );
  var t_result_day = Math.floor( t_time / t_day );
  var t_result_hour = Math.floor( t_time % t_day / t_hour);
  var t_result_min = Math.floor(t_time % t_day % t_hour/ t_min);
  var t_result_sec = Math.floor( t_time % t_day % t_hour % t_min);

  // 将时间小于10的,在值前面加入0;
  if ( t_result_day < 10) {
    t_result_day = "0" + t_result_day;
  }

  if ( t_result_hour < 10) {
    t_result_hour = "0" + t_result_hour;
  }

  if ( t_result_min < 10) {
    t_result_min = "0" + t_result_min;
  }

  if ( t_result_sec < 10) {
    t_result_sec = "0" + t_result_sec;
  }

  //显示到页面上
  ele_day.textContent = t_result_day;
  ele_hour.textContent = t_result_hour;
  ele_min.textContent = t_result_min;
  ele_sec.textContent = t_result_sec;

}, 1000);

很简单, 一个倒计时功能就完成了.

基于Javascript实现倒计时功能

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
Array.prototype.slice 使用扩展
Jun 09 Javascript
Iframe自适应高度绝对好使的代码 兼容IE,遨游,火狐
Jan 27 Javascript
jquery遍历select元素(实例讲解)
Dec 31 Javascript
跟我学习javascript创建对象(类)的8种方法
Nov 20 Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
May 31 Javascript
JS实用技巧小结(屏蔽错误、div滚动条设置、背景图片位置等)
Jun 16 Javascript
深入理解JavaScript中的for循环
Feb 07 Javascript
Vue-cli创建项目从单页面到多页面的方法
Sep 20 Javascript
javaScript字符串工具类StringUtils详解
Dec 08 Javascript
Node 代理访问的实现
Sep 19 Javascript
Vue 技巧之控制父类的 slot
Feb 24 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
Nov 04 Javascript
TypeOf这些知识点你了解吗
Feb 21 #Javascript
详谈javascript异步编程
Feb 21 #Javascript
浅谈javascript的call()、apply()、bind()的用法
Feb 21 #Javascript
EasyUI闪屏EasyUI页面加载提示(原理+代码+效果图)
Feb 21 #Javascript
javascript+HTML5自定义元素播放焦点图动画
Feb 21 #Javascript
JavaScript编程学习技巧汇总
Feb 21 #Javascript
Node.js开发者必须了解的4个JS要点
Feb 21 #Javascript
You might like
【星际争霸1】人族1v7家ZBath
2020/03/04 星际争霸
PHP计划任务之关闭浏览器后仍然继续执行的函数
2010/07/22 PHP
jQuery向下滚动即时加载内容实现的瀑布流效果
2016/01/07 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
2007/03/10 Javascript
JQuery打造PHP的AJAX表单提交实例
2009/11/03 Javascript
JQuery 确定css方框模型(盒模型Box Model)
2010/01/22 Javascript
基于jQuery的投票系统显示结果插件
2011/08/12 Javascript
javascript的propertyIsEnumerable()方法使用介绍
2014/04/09 Javascript
js实现鼠标感应向下滑动隐藏菜单的方法
2015/02/20 Javascript
jQuery实现强制cookie过期方法汇总
2015/05/22 Javascript
js获取页面引用的css样式表中的属性值方法(推荐)
2016/08/19 Javascript
微信js-sdk分享功能接口常用逻辑封装示例
2016/10/13 Javascript
从零学习node.js之express入门(六)
2017/02/25 Javascript
vue根据值给予不同class的实例
2018/09/29 Javascript
vue cli3 配置proxy代理无效的解决
2019/10/30 Javascript
vue实现移动端返回顶部
2020/10/12 Javascript
js实现网页随机验证码
2020/10/19 Javascript
Python魔法方法详解
2019/02/13 Python
python怎么删除缓存文件
2020/07/19 Python
Python3 用matplotlib绘制sigmoid函数的案例
2020/12/11 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
2021/02/06 Python
碧欧泉Biotherm加拿大官方网站:法国高端护肤品牌
2019/10/18 全球购物
建筑系毕业生自我鉴定
2014/01/24 职场文书
高一政治教学反思
2014/01/28 职场文书
房地产项目建议书
2014/03/12 职场文书
三分钟演讲稿范文
2014/04/24 职场文书
医院院务公开实施方案
2014/05/03 职场文书
教导主任竞聘演讲稿
2014/05/16 职场文书
伊琍体标语
2014/06/25 职场文书
党员教师个人对照检查材料范文
2014/09/25 职场文书
会议室管理制度范本
2015/08/06 职场文书
使用Spring处理x-www-form-urlencoded方式
2021/11/02 Java/Android
python中字符串String及其常见操作指南(方法、函数)
2022/04/06 Python
mysql字段为NULL索引是否会失效实例详解
2022/05/30 MySQL
Nginx 502 bad gateway错误解决的九种方案及原因
2022/08/14 Servers