zoukankan      html  css  js  c++  java
  • 自己封装的一个简单的倒计时功能

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

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

      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]);
  • 相关阅读:
    【转载】apache kafka系列之-监控指标
    自动恢复被挂掉的hbase region server
    beeline连接hive server遭遇MapRedTask (state=08S01,code=1)错误
    sqoop-1.4.6安装配置
    spark RDD的元素顺序(ordering)测试
    【转载】常用Maven插件介绍
    【转载】Spark SQL 1.3.0 DataFrame介绍、使用
    SparkSQL之数据源
    spark集成hive遭遇mysql check失败的问题
    hive启动报错: Found class jline.Terminal, but interface was expected
  • 原文地址:https://www.cnblogs.com/HCJJ/p/5929720.html
Copyright © 2011-2022 走看看