倒计时

js源码

    //倒计时
    (function ($) {
      var intervalDate;
      var day, hour, min, sec;

      $.fn.extend({
        countDown: function (options) { //生成倒计时字符串
          var opts = $.extend({}, defaults, options);
          this.each(function () {
            var $this = $(this);
            var nowTime = new Date().getTime();
            var startTime = new Date(opts.startTimeStr).getTime(); //开始时间
            var endTime = new Date(opts.endTimeStr).getTime(); //结束时间
            endTime = endTime > startTime ? endTime : startTime;
            startTime = endTime > startTime ? startTime : endTime;

            intervalDate = setInterval(function () {
              nowTime = new Date().getTime();
              if (startTime >= nowTime) {
                $this.beforeAction(opts);
                clearInterval(intervalDate);
              } else if (endTime >= nowTime) {
                //显示倒计时
                var t = endTime - nowTime;
                day = Math.floor(t / 1000 / 60 / 60 / 24);
                hour = Math.floor(t / 1000 / 60 / 60 % 24);
                min = Math.floor(t / 1000 / 60 % 60);
                sec = Math.floor(t / 1000 % 60);
                $(opts.daySelector).html($this.doubleNum(day) + "天");
                $(opts.hourSelector).html($this.doubleNum(hour) + "小时");
                $(opts.minSelector).html($this.doubleNum(min) + "分");
                $(opts.secSelector).html($this.doubleNum(sec) + "秒");
              } else {
                $this.afterAction(opts);
                clearInterval(intervalDate);
              }
            }, 1000);
          });
        },
        doubleNum: function (num) { //将个位数字变成两位
          if (num < 10) {
            return "0" + num;
          } else {
            return num + "";
          }
        },
        beforeAction: function (options) {
          //父容器显示,特定文字
          $(options.daySelector).parent().html("敬请期待");
        },
        afterAction: function (options) {
          //父容器显示,特定文字
          $(options.daySelector).parent().html("活动结束");
        }

      });

      var defaults = {
        startTimeStr: "2017/01/10 00:00:00",
        endTimeStr: "2017/01/17 23:59:59",
        daySelector: ".day",
        hourSelector: ".hour",
        minSelector: ".min",
        secSelector: ".sec"
      }

    })(jQuery)

html

  <div class="count_down"><span class="day_num"></span><span class="hour_num"></span><span class="min_num"></span><span class="sec_num"></span></div>

script


// 倒计时
  $(".count_down").countDown({
    // startTimeStr: '2020/05/01 14:28:59',//开始时间
    endTimeStr: '2020/05/15 23:59:59',//结束时间
    daySelector: ".day_num",
    hourSelector: ".hour_num",
    minSelector: ".min_num",
    secSelector: ".sec_num"
  });
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值