图片-动鱼小窝
图片-动鱼小窝

WordPress实现给活动添加倒计时功能

ef038f076a220257

如果活动没结束,那么显示距离结束时间,为绿色,如果到期了,那么显示 活动已经结束,为红色提示。

将html代码span标签中的时间修改为到期时间,格式一定要正确,例如 2023-07-08 09:00:00 ,并放置需要显示的地方。

1、将js代码,放置公共js中,或者其他只要引入的js文件中即可,<script>标签如果需要删除的,请自行删除<script>和</script>即可

<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>
<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>
<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>

2、在发布/更新文章的时候,切换到文本模式,然后在想要插入倒计时的位置添加以下短代码:

<span id="ActivityDate">2023-07-08 09:00:00</span>
<span id="ActivityDate">2023-07-08 09:00:00</span>
<span id="ActivityDate">2023-07-08 09:00:00</span>

其中  2023-07-08 09:00:00  是事件结束时间,修改为其他日期时间时请保持格式一致即可。

演示:

见首页 顶栏
© 版权声明
THE END
喜欢就支持一下吧
点赞11打赏 分享
In the face of difficulties, be brave, persistent and tirelessly to overcome it.
面对困难的时候,要勇敢、执着、不畏艰辛地去战胜它
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容