核心提示:用代码实现倒计时活动效果 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])); }