倒计时插件:leftTime.min.js

(function(y, g) {
    Date.prototype.format = function(a) {
        var d = {
            "M+": this.getMonth() + 1,
            "d+": this.getDate(),
            "h+": this.getHours(),
            "m+": this.getMinutes(),
            "s+": this.getSeconds(),
            "q+": Math.floor((this.getMonth() + 3) / 3),
            S: this.getMilliseconds()
        };
        /(y+)/.test(a) && (a = a.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)));
        for(var c in d)(new RegExp("(" + c + ")")).test(a) && (a = a.replace(RegExp.$1, 1 == RegExp.$1.length ? d[c] : ("00" + d[c]).substr(("" + d[c]).length)));
        return a
    };
    g.leftTime = function(a, d, c) {
        function w(a) {
            return -1 !=
                a.indexOf("-") || -1 != a.indexOf("/") ? !0 : !1
        }

        function g(a) {
            return /^(20|21|22|23|[0-1]\d):[0-5]\d$/.test(y.trim(a)) ? !0 : !1
        }

        function r(a) {
            10 > a && c && (a = "0" + a);
            return a
        }

        function z() {
            if("string" === typeof a || "number" === typeof a) {
                var b = (new Date).getTime(),
                    c;
"string" === typeof a || 12 <= a.toString().length ? (a = "string" === typeof a && 1 == w(a) ? a.replace(/-/g, "/") : a, c = (new Date(a)).getTime(), b = c - b) : (c = a - A.count, b = 1E3 * c, A.count++); 0 < b ? (h = Math.floor(b / 1E3 / 60 / 60 / 24), k = Math.floor(b / 1E3 / 60 / 60 % 24), l = Math.floor(b / 1E3 / 60 % 60), m = Math.floor(b / 1E3 % 60), n = !0) : (window.clearInterval(e), m = l = k = h = 0, n = !1)
            } else "object" === typeof a && (b = (new Date).getTime() + (0 < t ? -1 * t : Math.abs(t)), c = 0, u < f ? (c = f, v = 1) : u >= f && u < p ? (c = p, v = 2) : u >= p && (v = 3), b = c - b, 0 < b ? (h = Math.floor(b / 1E3 / 60 / 60 / 24), k = Math.floor(b / 1E3 / 60 / 60 % 24), l = Math.floor(b / 1E3 / 60 % 60), m = Math.floor(b / 1E3 % 60), n = !0) : (window.clearInterval(e), m = l = k = h = 0, n = !1));
            b = {
                d: r(h),
                h: r(k),
                m: r(l),
                s: r(m)
            };
            b.status = n;
            b.step = v;
            if(d && "function" === typeof d) return d(b)
        }
        var e = this.timer;
        c || 0 == c || (c = !0);
        var A = {
                count: 0
            },
            h = 0,
            k = 0,
            l = 0,
            m = 0,
            v = 0,
            n = !1;
        if("object" === typeof a) {
            a.init || 1 == a.init || (a.init = !1);
            var t = 0,
                x, q = 0;
            if(0 != a.setday || "0" != a.setday) q = 864E5 * parseInt(a.setday);
            a.nowdate && null != a.nowdate && void 0 != a.nowdate && "undefined" != a.nowdate ? (t = (new Date).getTime() - parseInt(a.nowdate), x = new Date(a.nowdate)) : (a.nowdate = (new Date).getTime(), x = new Date);
            var q = new Date(parseInt(a.nowdate) + q),
                f = 0,
                p = 0;
            0 == a.startdate || "0" == a.startdate || a.init || ("string" === typeof a.startdate ? w(a.startdate) ? f = (new Date(a.startdate.replace(/-/g, "/"))).getTime() :
                g(a.startdate) && (f = (new Date(q.format("yyyy/MM/dd") + " " + a.startdate)).getTime()) : "number" === typeof a.startdate && (f = a.startdate));
            if(0 != a.enddate || "0" != a.enddate) "string" === typeof a.enddate ? w(a.enddate) ? p = (new Date(a.enddate.replace(/-/g, "/"))).getTime() : g(a.enddate) && (p = (new Date(q.format("yyyy/MM/dd") + " " + a.enddate)).getTime()) : "number" === typeof a.enddate && (f = a.enddate);
            var u = x.getTime()
        }
        z();
        e = setInterval(z, 1E3);
        if("undefined" != e || null != e || void 0 != e) return e
    };
    y.extend(g)
})(jQuery || zepto, {});
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值