一个非常实用的活动倒计时效果,到对应活动有对应结束倒计时效果,活动结束后会提示活动已经结束,给用户体验是比较好的,由于考虑到一些网站没有使用jq,或者jq版本低之类,所以使用原生来实现效果,这样任何网站都是可以使用。
教程
1、首先我们先利用下面的JS代码放到自己网站后台的自定义代码里面,如果后台没有自定义请放到自己源码里面即可,如下图是本站后台的自定义增加代码
2、然后我们将一个html代码放到自己想要调用的地方,这里我就不给大家演示了
代码如下
JS代码
<script> // 获取id var ActivityDate = document.getElementById("ActivityDate"); function timepiece(key){ var datatime = /^[\d]{4}-[\d]{1,2}-[\d]{1,2}( [\d]{1,2}:[\d]{1,2}(:[\d]{1,2})?)?$/ig,str='',s; // 正则验证日期格式是否正确 if(!key.match(datatime)){ console.log('日期参数错误,请按格式填写,如 1996-10-22 24:00:00'); return } // 当前日期减去活动日期,判断是否超出 var sec = (new Date(key.replace(/-/ig,'/')).getTime() - new Date().getTime())/1000; if(sec < 0){ ActivityDate.innerHTML = "<span style=" + "color:red;" + ">" + "本活动已经结束" + "</span>"; return } s = { '天':sec/24/3600, '时':sec/3600%24, '分':sec/60%60, '秒':sec%60 } for(i in s){ if(Math.floor(s[i]) > 0) str += Math.floor(s[i]) + i; } if(Math.floor(sec) == 0){ str='0秒'; } // 距离活动结束时间显示到页面 ActivityDate.innerHTML = "<span style=" + "color:#4ad564;" + ">" + "本活动还有" + str + "结束" + "</span>"; // 每隔1秒更新一次 setTimeout(function(){ timepiece(key) },1000) } timepiece(ActivityDate.innerHTML);</script>
HTML调用代码
<span id="ActivityDate">2020-05-08 24:00:00</span>
发表评论