JS基于面向对象实现的多个倒计时器功能示例


Posted in Javascript onFebruary 28, 2017

本文实例讲述了JS基于面向对象实现的多个倒计时器功能。分享给大家供大家参考,具体如下:

运行效果图如下:

JS基于面向对象实现的多个倒计时器功能示例

实现代码如下:

代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>JavaScript测试文件</title>
 </head>
 <body>
  <div><span id="hour0">0</span>小时</div>
  <div><span id="minute0">0</span>分</div>
  <div><span id="seconds0">10</span>秒</div>
  <br/>
  <div><span id="hour1">1</span>小时</div>
  <div><span id="minute1">31</span>分</div>
  <div><span id="seconds1">31</span>秒</div>
  <br/>
  <div><span id="hour2">2</span>小时</div>
  <div><span id="minute2">32</span>分</div>
  <div><span id="seconds2">32</span>秒</div>
  <br/>
  <div><span id="hour3">3</span>小时</div>
  <div><span id="minute3">33</span>分</div>
  <div><span id="seconds3">33</span>秒</div>
  <br/>
  <div><span id="hour4">4</span>小时</div>
  <div><span id="minute4">34</span>分</div>
  <div><span id="seconds4">34</span>秒</div>
  <br/>
 </body>
</html>
<script type="text/javascript">
//名山计时器:
function msTimeCount(){
 this._hour=0;   //“小时”数
 this._minute=0;   //“分”数
 this._seconds=0;  //“秒”数
 //
 this._hourHtmlObj={};//“小时”html对象
 this._minuteHtmlObj={};//“分”html对象
 this._secondsHtmlObj={};//“秒”html对象
 //
 this._totalSeconds=0;//总秒数
};
msTimeCount.prototype={
 //1.获取对象
 $:function(ID){
  return document.getElementById(ID);
 },
 //2.初始化:
 /*
  * arrTime:  传入时间数组,格式为[1,30,30],代表 1小时30分30秒;
  * arrHtmlObj: 更新时间数据的Html对象数组,格式为["hour","minute","seconds"];
 */
 init:function(arrTime,arrHtmlObj){
  var _this=this;
  _this._hour=parseInt(arrTime[0]);
  _this._minute=parseInt(arrTime[1]);
  _this._seconds=parseInt(arrTime[2]);
  _this._hourHtmlObj=_this.$(arrHtmlObj[0]);
  _this._minuteHtmlObj=_this.$(arrHtmlObj[1]);
  _this._secondsHtmlObj=_this.$(arrHtmlObj[2]);
  _this._totalSeconds=parseInt(_this._hour*60*60+_this._minute*60+_this._seconds);
  //开始计时:
  _this.timeCount();
 },
 //3.计时器:
 timeCount:function(){
  var _this=this;
  var tmpTimeCount=setInterval(
   function(){
    _this._totalSeconds--;
    //alert(_this._totalSeconds);
    _this.refreshTime();
    if(_this._totalSeconds<1){
     clearInterval(tmpTimeCount);
     return;
    }
   }
   ,1000);
 },
 //4.刷新页面时间:
 refreshTime:function(){
  var _this=this;
  if(_this._totalSeconds>0){
   _this._hour=parseInt(_this._totalSeconds/3600);
   _this._minute=parseInt((_this._totalSeconds-_this._hour*3600)/60);
   _this._seconds=_this._totalSeconds-_this._hour*3600-_this._minute*60;
  }else{
   _this._hour=_this._minute=_this._seconds=0;
  }
  _this._hourHtmlObj.innerHTML=_this._hour;
  _this._minuteHtmlObj.innerHTML=_this._minute;
  _this._secondsHtmlObj.innerHTML=_this._seconds;
 }
}
var timeCount0=new msTimeCount();
timeCount0.init([0,0,10],["hour0","minute0","seconds0"]);
var timeCount1=new msTimeCount();
timeCount1.init([1,31,31],["hour1","minute1","seconds1"]);
var timeCount2=new msTimeCount();
timeCount2.init([2,32,32],["hour2","minute2","seconds2"]);
var timeCount3=new msTimeCount();
timeCount3.init([3,33,33],["hour3","minute3","seconds3"]);
var timeCount4=new msTimeCount();
timeCount4.init([4,34,34],["hour4","minute4","seconds4"]);
</script>
Javascript 相关文章推荐
WebGame《逆转裁判》完整版 代码下载(1月24日更新)
Jan 29 Javascript
使用CSS和jQuery模拟select并附提交后取得数据的代码
Oct 18 Javascript
js进行表单验证实例分析
Feb 10 Javascript
javascript中一些util方法汇总
Jun 10 Javascript
在jQuery中处理XML数据的大致方法
Aug 14 Javascript
javascript中call apply 与 bind方法详解
Mar 10 Javascript
jQuery 检查某个元素在页面上是否存在实例代码
Oct 27 Javascript
详解webpack模块化管理和打包工具
Apr 21 Javascript
解决vue.js 数据渲染成功仍报错的问题
Aug 25 Javascript
对angularJs中controller控制器scope父子集作用域的实例讲解
Oct 08 Javascript
详解在create-react-app使用less与antd按需加载
Dec 06 Javascript
vue组件是如何解析及渲染的?
Jan 13 Vue.js
js中删除数组中的某一元素实例(无下标时)
Feb 28 #Javascript
jQuery图片切换动画效果
Feb 28 #Javascript
jQuery 判断元素整理汇总
Feb 28 #Javascript
jQuery倒计时代码(超简单)
Feb 27 #Javascript
js实现图片左右滚动效果
Feb 27 #Javascript
jquery横向纵向鼠标滚轮全屏切换
Feb 27 #Javascript
原生js实现旋转木马轮播图效果
Feb 27 #Javascript
You might like
php仿ZOL分页类代码
2008/10/02 PHP
PHP调用C#开发的dll类库方法
2014/07/28 PHP
PHP抽奖算法程序代码分享
2015/10/08 PHP
PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
2018/03/15 PHP
php post json参数的传递和接收处理方法
2018/05/31 PHP
JavaScript 学习笔记(十六) js事件
2010/02/01 Javascript
js给dropdownlist添加选项的小例子
2013/03/04 Javascript
图片翻转效果具体实现代码
2014/01/09 Javascript
代码分析jQuery四种静态方法使用
2015/07/23 Javascript
jQuery+PHP星级评分实现方法
2015/10/02 Javascript
jquery.cookie实现的客户端购物车操作实例
2015/12/24 Javascript
浅析jQuery Ajax通用js封装
2016/06/22 Javascript
jquery实现下拉框左右选择功能
2017/02/21 Javascript
Django中使用jquery的ajax进行数据交互的实例代码
2017/10/15 jQuery
vue多页面开发和打包正确处理方法
2018/04/20 Javascript
[53:50]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python中time模块和datetime模块的用法示例
2016/02/28 Python
基于Python和Scikit-Learn的机器学习探索
2017/10/16 Python
Python3.5集合及其常见运算实例详解
2019/05/01 Python
python3使用GUI统计代码量
2019/09/18 Python
python使用Geany编辑器配置方法
2020/02/21 Python
Python搭建Keras CNN模型破解网站验证码的实现
2020/04/07 Python
python使用隐式循环快速求和的实现示例
2020/09/11 Python
英国领先的互联网葡萄酒礼品商:Vintage Wine & Port
2019/05/24 全球购物
销售顾问的岗位职责
2013/11/13 职场文书
会计专业毕业生自荐信范文
2013/12/20 职场文书
农场厂长岗位职责
2013/12/28 职场文书
物业保安员岗位职责
2014/03/14 职场文书
《毛主席在花山》教学反思
2014/04/20 职场文书
四年级小学生评语
2014/12/26 职场文书
2015年安全员工作总结范文
2015/04/22 职场文书
2015年教师节主持词
2015/07/03 职场文书
运动会宣传稿100字
2015/07/23 职场文书
2015年高校保卫处工作总结
2015/07/23 职场文书
Python 快速验证代理IP是否有效的方法实现
2021/07/15 Python
Python探索生命起源 matplotlib细胞自动机动画演示
2022/04/21 Python