百变鹏仔 发表于 2022-5-31 03:26:52

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

<p>
        <span style="font-size:16px;">&nbsp; &nbsp; 大家好,我是小编鹏仔哥,鹏仔运营的Q站主要是以资源活动分享为主体的网站,所以经常会分享一些活动,是活动都有结束时间,刚好前段时间逛其他网站,看到对应活动有对应结束倒计时效果,活动结束后会提示活动已经结束,给用户体验是比较好的,所以也写了这个效果,分享给大家。</span>
</p>
<p>
        <span style="font-size:16px;">&nbsp;&nbsp;&nbsp;&nbsp;因为考虑到大家一些网站没有使用jq,或者jq版本低之类,所以使用原生来实现效果,这样任何网站都是可以使用。</span>
</p>
<p>
        <br />
</p>
<p>
        <span style="font-size:16px;">&nbsp;&nbsp;&nbsp;&nbsp;作者:百变鹏仔</span>
</p>
<p>
        <span style="font-size:16px;">&nbsp;&nbsp;&nbsp;&nbsp;效果如下图所示:</span>
</p>
<p style="text-align:center;">
        <span><span style="font-size:16px;">&nbsp;&nbsp;&nbsp;&nbsp;</span></span>
</p>
<p>
        <span style="font-size:16px;">&nbsp;&nbsp;&nbsp;&nbsp;如果活动没结束,那么显示距离结束时间,为绿色,如果到期了,那么显示&nbsp;活动已经结束,为红色提示。</span>
</p>
<p>
        <br />
</p>
<p>
        <span style="font-size:16px;">&nbsp;&nbsp;&nbsp;&nbsp;下方是对应html和js代码</span>
</p>
<p>
        <span style="font-size:16px;">&nbsp;&nbsp;&nbsp;&nbsp;将html代码span标签中的时间修改为到期时间,格式一定要正确,例如&nbsp;2018-08-08&nbsp;24:00:00&nbsp;,并放置需要显示的地方。</span>
</p>
<p>
        <span style="font-size:16px;">&nbsp;&nbsp;&nbsp;&nbsp;将js代码,放置公共js中,或者其他只要引入的js文件中即可。</span>
</p>
<div class="prism-show-language">
        <div class="prism-show-language-label">
                <span style="font-size:16px;">HTML</span>
        </div>
</div>
<pre class="prism-highlight prism- prism-line-numbers language-markup"><span class="prism-token prism-tag"><span class="prism-token prism-tag"><span class="prism-token prism-punctuation">&lt;</span>span</span> <span class="prism-token prism-attr-name">id</span><span class="prism-token prism-attr-value"><span class="prism-token prism-punctuation">=</span><span class="prism-token prism-punctuation">"</span>ActivityDate<span class="prism-token prism-punctuation">"</span></span><span class="prism-token prism-punctuation">&gt;</span></span>2020-05-08 24:00:00<span class="prism-token prism-tag"><span class="prism-token prism-tag"><span class="prism-token prism-punctuation">&lt;/</span>span</span><span class="prism-token prism-punctuation">&gt;</span></span><span class="prism-line-numbers-rows"><span></span></span></pre>
<p>
        <span style="font-size:16px;">JavaScript</span>
</p>
<p>
        <span style="color:#E53333;font-size:16px;">&lt;script&gt; // 获取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 &lt; 0){ ActivityDate.innerHTML = "&lt;span style=" + "color:red;" + "&gt;" + "本活动已经结束" + "&lt;/span&gt;"; return } s = { '天':sec/24/3600, '时':sec/3600%24, '分':sec/60%60, '秒':sec%60 } for(i in s){ if(Math.floor(s) &gt; 0) str += Math.floor(s) + i; } if(Math.floor(sec) == 0){ str='0秒'; } // 距离活动结束时间显示到页面 ActivityDate.innerHTML = "&lt;span style=" + "color:#4ad564;" + "&gt;" + "本活动还有" + str + "结束" + "&lt;/span&gt;"; // 每隔1秒更新一次 setTimeout(function(){ timepiece(key) },1000) } timepiece(ActivityDate.innerHTML); &lt;/script&gt;</span><span style="color:#E53333;font-size:16px;"></span>
</p>
<p>
        <span style="font-size:16px;">对于样式,没做什么美化,后期有空会更新美化版。&nbsp;</span>
</p>
页: [1]
查看完整版本: 给网站添加一个活动倒计时效果 线报活动结束提示效果