给网站添加一个活动倒计时效果 线报活动结束提示效果

百变鹏仔   ·   发表于 1个月前   ·   插件开发

作者:鹏仔先生

    效果如下图所示:

    

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


    下方是对应html和js代码

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

    将js代码,放置公共js中,或者其他只要引入的js文件中即可

对于样式,没做什么美化,后期有空会更新美化版。  

<span id="ActivityDate">2020-05-08 24: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 + "结束" + "</span>";
        // 每隔1秒更新一次
        setTimeout(function(){
            timepiece(key)
        },1000)
    }
    timepiece(ActivityDate.innerHTML);
</script>


回复之后,可下载案例

Q站 http://iqzhan.com

5 Reply   |  Until 12天前 | 178 View

530745120
发表于 26天前

123

评论列表

  • 加载数据中...

编写评论内容

百变鹏仔
发表于 25天前

奥利给

评论列表

  • 加载数据中...

编写评论内容

3243906801
发表于 20天前

..666336

评论列表

  • 加载数据中...

编写评论内容

cszh123
发表于 14天前

9999

评论列表

  • 加载数据中...

编写评论内容

jiuju2020
发表于 12天前

咳咳

评论列表

  • 加载数据中...

编写评论内容
LoginCan Publish Content