倒计时功能在我们搭建网站时是比较常用的,基本在新内容发布经常可以见到。
实现代码
<span id="ActivityDate">2025-05-25 12:00:00</span>
<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 + "天这篇文章发布就满5年啦" + "</span>";
// 每隔1秒更新一次
setTimeout(function(){
timepiece(key)
},1000)
}
timepiece(ActivityDate.innerHTML);
</script>
更改相应的参数实现倒计时时间更改~