线报活动结束提示效果
偶然网主要以分享活动线报为主的网站,平时也是发一些现金红包 实物等活动,活动一般都有结束的时间
下面给大家分享活动倒计时的代码,活动结束后会提示活动已经结束以及倒计时,给用户体验是比较好的
代码使用的是原生js,确保所有的资源网都可以使用!

html
<p id="ActivityDate">2022-06-08 24:00:00</p>
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>
