zoukankan      html  css  js  c++  java
  • 倒计时的实现

    /* by liujun 2015-10-27 
    * 倒计时的实现
    */
    var fnTimeCountDown = function(d, o){
        var f = {
            zero: function(n){
                var n = parseInt(n, 10);
                if(n > 0){
                    if(n <= 9){
                        n = "0" + n;    
                    }
                    return String(n);
                }else{
                    return "00";    
                }
            },
            dv: function(){
                d = d || Date.UTC(2050, 0, 1); //如果未定义时间,则我们设定倒计时日期是2050年1月1日
                var future = new Date(d), now = new Date();//取得将来时间对像和当前时间对像
                //现在将来秒差值
                var dur = Math.round((future.getTime() - now.getTime()) / 1000) + future.getTimezoneOffset() * 60, pms = {
                    sec: "00",
                    mini: "00",
                    hour: "00",
                    day: "00",
                    month: "00",
                    year: "0"
                };
                if(dur > 0){
                    pms.sec = f.zero(dur % 60);
                    pms.mini = Math.floor((dur / 60)) > 0? f.zero(Math.floor((dur / 60)) % 60) : "00";
                    pms.hour = Math.floor((dur / 3600)) > 0? f.zero(Math.floor((dur / 3600)) % 24) : "00";
                    pms.day = Math.floor((dur / 86400)) > 0? f.zero(Math.floor((dur / 86400)) % 30) : "00";
                    //月份,以实际平均每月秒数计算
                    pms.month = Math.floor((dur / 2629744)) > 0? f.zero(Math.floor((dur / 2629744)) % 12) : "00";
                    //年份,按按回归年365天5时48分46秒算
                    pms.year = Math.floor((dur / 31556926)) > 0? Math.floor((dur / 31556926)) : "0";
                }
                return pms;
            },
            ui: function(){
                if(o.sec){
                    o.sec.innerHTML = f.dv().sec;
                }
                if(o.mini){
                    o.mini.innerHTML = f.dv().mini;
                }
                if(o.hour){
                    o.hour.innerHTML = f.dv().hour;
                }
                if(o.day){
                    o.day.innerHTML = f.dv().day;
                }
                if(o.month){
                    o.month.innerHTML = f.dv().month;
                }
                if(o.year){
                    o.year.innerHTML = f.dv().year;
                }
                setTimeout(f.ui, 1000);
            }
        };    
        f.ui();
    };
    
    
    
    
    //调用
    var zxx = {
        $: function(id){
            return document.getElementById(id);    
        },
        futureDate: Date.UTC(2015, 12, 1, 10),
        obj: function(){
            return {
                sec: zxx.$("sec"),
                mini: zxx.$("mini"),
                hour: zxx.$("hour"),
                day: zxx.$("day")
            }
        }
    };
    fnTimeCountDown(zxx.futureDate, zxx.obj());
  • 相关阅读:
    实验 4:Open vSwitch 实验——Mininet 中使用 OVS 命令
    实验 2:Mininet 实验——拓扑的命令脚本生成
    软工第一次作业——自我介绍
    博客园美化
    实验 1:Mininet 源码安装和可视化拓扑工具
    软工实践个人总结
    结对编程之学术家族树
    软件工程实践结对编程作业(需求分析与原型设计)
    软件工程实践个人编程作业
    软件工程实践第一次个人作业
  • 原文地址:https://www.cnblogs.com/macliu/p/5240942.html
Copyright © 2011-2022 走看看