自己封装的一个简单的倒计时功能

因为平常工作中很常用到该功能,所以就利用这次国庆假期,重新梳理与对原有代码进行改善,再集成一个常用的功能,最终封装出这个“简单倒计时”功能。

该倒计时方法具有以下该功能:

  1. 根据指定日期与当前的电脑时间进行匹配

  2. 通过指定一个数组参数,来设置在每一天内不同的时间段进行倒计时。

* 该方法还未通过实际工作的检测,稳定性未知(如果实际工作通过,会删除这段话

 1 function countDown(date,target,filter){
 2
 3     var setTime = new Date(date).getTime(),
 4         timer = null;
 5
 6     function core(){
 7         var nowTime = new Date().getTime(),
 8             leftTime = 0,
 9             d = 0,h = 0,m = 0,s = 0;
10
11         ////////////////////////////
12         //conditation @ doublue time
13         if(filter.length){
14             setTime = new Date();
15             for(var i=0,l=filter.length;i<l;i++){
16                 setTime.setHours(filter[i]);
17                 setTime.setMinutes(0);
18                 setTime.setSeconds(0);
19                 if(nowTime < setTime.getTime()){
20                     break;
21                 }else if(i == filter.length-1){
22                     setTime.setDate(setTime.getDate()+1);
23                     setTime.setHours(filter[0]);
24                 }
25
26             }
27         }
28         ////////////////////////////
29
30         leftTime = Math.ceil((setTime - nowTime)/1000);
31         if(nowTime <= setTime){
32             d = ~~(leftTime/86400);
33             h = ~~(leftTime%86400/3600);
34             m = ~~(leftTime%86400%3600/60);
35             s = ~~(leftTime%86400%3600%60);
36             timer = setTimeout(core,1e3);
37         }else{
38             clearTimeout(timer);
39             timer = null;
40         }
41
42         //here set out format
43         target.innerHTML = ‘d:‘+d+‘ h:‘+h+‘ m:‘+m+‘ s:‘+s;
44
45     }
46     core();
47 }

调用方式:

1 // 普通调用
2 countDown(‘2016/10/02/23:43‘,oDiv);
3
4 // 指定时间循环倒计时
5 countDown(‘2016/10/02/23:43‘,oDiv,[9,11,18]);
时间: 2024-08-03 03:09:09

自己封装的一个简单的倒计时功能的相关文章

PHP实现一个简单url路由功能

如果一个页面的内容呈现,需要根据url上传递的参数来进行渲染.很多时候可能是这样子写:xxx.com/xx?c=x&m=x& t=..,而我们看到的url往往是这样子的(以新浪微游戏的咖啡恋人为例) game.weibo.com/ilovecoffee….这种URL设计看上去比前一种更好一点:) 如果我们访问一下不存在的游戏应用,例如game.weibo.com/ilovecoffee222,则会输出如下的错误提示: game.weibo.com后面匹配到的项,指向了某个php页面,然后根

jQuery实现一个简单的购物车功能

最近由于工作需要的原因,开始系统学习jQuery的知识,然后跟着一个视频教程做了一个购物车的功能,现总结如下. 第一步:准备HTML页面,代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.

使用JS完成一个简单的计算器功能

使用JS完成一个简单的计算器功能.实现2个输入框中输入整数后,点击第三个输入框能给出2个整数的加减乘除. 提示:获取元素的值设置和获取方法为:例:赋值:document.getElementById("id").value = 1: 取值:var = document.getElementById("id").value: 任务 第一步: 创建构建运算函数count(). 第二步: 获取两个输入框中的值和获取选择框的值. 提示:document.getElement

教你用Django实现一个简单的GIS功能

地理信息系统(Geographic Information System或 Geo-Information system,GIS)有时又称为"地学信息系统".它是一种特定的十分重要的空间信息系统.它是在计算机硬.软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集.储存.管理.运算.分析.显示和描述的技术系统. 看上去挺简单,但是实现起来是挺复杂的,这里面涉及到专用的地理数据库,图层,空间查询等等. 这里,我使用的是Django GEO框架实现一个简单的通

Cocos2d-x lua 封装的一个简单弹出框

..有2种类型:只有确定按钮.有确定和取消按钮 确定和取消按钮中的确定可以执行回调函数,标签可以自动换行,前提是在IOS模拟器上运行,mac下的模拟器看不出效果,功能比较简单,基本功能是实现了,交互上不是很好,还得改进,点击对话框外面的区域,对话框也会消失,可自行修改实现自己的需求. 继承于Layer,用类的方式写的,写的不是很好,望大神们多多指教. 代码奉上,比较简单: require "Cocos2d" require "Cocos2dConstants" --

用JavaScript写一个简单的倒计时,可以应用在发送短信验证码的“59秒后重新发送验证短信”

倒计时——从10倒数到0,点击按钮会还原倒计时 <body> <!-- 将textvalue值设为10,从10倒数 --> <input type="text" value="10" id="txt"> <input type="button" value="重新开始" id="btn"> </body> <script&

Flutter-实现一个简单的登录功能

登录逻辑判断 1.缓存token,使用的是shared_preferences 最新版本(https://pub.flutter-io.cn/packages/shared_preferences) shared_preferences: ^0.5.6 简单封装一层 class MTCacheTool { // 存储token static const String keyToken = 'xxxxxxxxxTK'; // 存储用户名 static const String keyUserNam

shell实现一个简单的计算器功能小脚本

废话不多说,直接上代码,基本实现加减乘除功能: #!/bin/bash # author by alsww # date : 2016.02.03 # mail : [email protected] # blog : alsww.blog.51cto.com print_info(){     printf "请输入数字:\n" } print_err_num(){     printf "请输入正确的数字!\n" } print_err_fuhao(){    

【Java基础】用LinkedList实现一个简单栈的功能

栈的基本功能 栈的最基本功能是保障后进先出,然后在此基础上可以对在栈中的对象进行弹入弹出,此外,在弹出时,如果栈为空,则会报错,所以还需要提供获取当前栈大小的方法. 构造存储对象Student /** * Created by lili on 15/11/14. */ public class Student { private String name; private int age; public Student() { } public Student(String name, int a