您现在的位置:首页 >> 前端 >> 内容

用代码实现倒计时活动效果

时间:2018/5/25 9:27:23 点击:

  核心提示:用代码实现倒计时活动效果 htmlp class=status-line id=time-state /p部分样式status-line {width: 90%;background: rgba(...

用代码实现倒计时活动效果

用代码实现倒计时活动效果
用代码实现倒计时活动效果
用代码实现倒计时活动效果

html

<p class="status-line" id="time-state">

	</p>

部分样式

status-line {
    width: 90%;
    background: rgba(255,255,255,.8);
    padding: .5rem 0;
    border-radius: .5rem;
    color: #6A7780;
    text-align: center;

    margin: 1rem auto;}



调用

//当前时间
		ret.now="2018/03/01 20:59:50";
		//开始时间
		ret.start="2018/03/01 21:00:00";
		//结束时间

		ret.end="2018/03/01 21:00:10";



//倒计时

    	modelCommon.cut_down(ret.now,ret.start,ret.end);









//倒计时
 modelCommon.cut_down =  function (now,start,end) {
 	
    // 当前时间
    var nt=modelCommon.toData(now);
    var nowTime = nt.getTime();
    //开始时间
    //var start = "2018/02/01 21:00:00";
    var startTime = modelCommon.toData(start);
    // 结束时间
    //var end = "2018/02/01 23:59:00";
    var endTime = modelCommon.toData(end);
    // 相差的时间
    var t = 0;
    if (nowTime < startTime.getTime()) {
      status = '开始';
      t = startTime.getTime() - nowTime;
    } else {
      var status = '结束';
      t = endTime.getTime() - nowTime;
    }
    
    if (t < 0) {
    var fullDate = start.split(" ");
    var date = fullDate[0].split("/");
    var time = fullDate[1].split(":");
      var y =     parseInt(date[0]);
      var m = modelCommon.formatNumber(parseInt(date[1]) -1);
      var d = modelCommon.formatNumber(parseInt(date[2]));
      var h = modelCommon.formatNumber(parseInt(time[0]));
      var i = modelCommon.formatNumber(parseInt(time[1]));
      var s = modelCommon.formatNumber(parseInt(time[2]));
      var html = '<p><i class="iconfont icon-time fontcolor"></i> 投票于<span>' + m + '</span>月<span>' + d + '</span>日<span>' + h + '</span>时<span>' + i + '</span>分<span>' + s + '</span>秒<span style="background: none;">' + status + '</span></p>';
      $api.html($api.byId("time-state"), html);
      //$("#time-state").html(html);
      return false;
    }
    if (t > 0) {
      var d = modelCommon.formatNumber(t / 1000 / 60 / 60 / 24);
      var h = modelCommon.formatNumber(t / 1000 / 60 / 60 % 24);
      var i = modelCommon.formatNumber(t / 1000 / 60 % 60);
      var s = modelCommon.formatNumber(t / 1000 % 60);


      var html = '<p><i class="iconfont icon-time fontcolor"></i> 投票<span style="background: none;">' + status + '</span>倒计时<span>' + d + '</span>天<span>' + h + '</span>时<span>' + i + '</span>分<span>' + s + '</span>秒</p>';
      $api.html($api.byId("time-state"), html);
      //$("#time-state").html(html);
      //加一秒
      nt = new Date(nt.getTime() + 1000);
      now=modelCommon.formatDate(nt);
     
      setTimeout(function(){
      	modelCommon.cut_down(now,start,end)
      }, 1000);
    }
    if (t == 0) {
      status="未开始"
    
      var y = '-';
      var m = '-';
      var d = '-';
      var h = '-';
      var i = '-';
      var s = '-';
      var html = '<p><i class="iconfont icon-time fontcolor"></i> 活动已结束</p>';
      
      $api.html($api.byId("time-state"), html);
      //$("#time-state").html(html);
      return false;
    }
  }


//数字转换
 modelCommon.formatNumber =  function(num) {
 	if(num<10)
 	{
 		return "0"+parseInt(num);
 	}else{
 		return parseInt(num);
 	}
  }
  //日期格式化
   modelCommon.formatDate =  function(dt) {
   
    //"2018/02/01 21:00:00";
    var nian = dt.getFullYear();
var yue = dt.getMonth() + 1;
var day = dt.getDate();
var hour = dt.getHours();
var min = dt.getMinutes();
var miao = dt.getSeconds();
    return nian+"/"+yue+"/"+day+" "+hour+":"+min+":"+miao;
  }
  //日期格式化
   modelCommon.toData =  function(dt) {
    var fullDate = dt.split(" ");
    var date = fullDate[0].split("/");
    var time = fullDate[1].split(":");
    return new Date(parseInt(date[0]), parseInt(date[1]) -1, parseInt(date[2]), parseInt(time[0]), parseInt(time[1]), parseInt(time[2]));  
  }

作者:网络 来源:℡メ㏑╭ァ小凯