给网站添加一个活动倒计时效果 线报活动结束提示效果
因为考虑到大家一些网站没有使用jq,或者jq版本低之类,所以使用原生来实现效果,这样任何网站都是可以使用。
效果如下图所示:
如果活动没结束,那么显示距离结束时间,为绿色,如果到期了,那么显示 活动已经结束,为红色提示。
下方是对应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>
对于样式,没做什么美化,后期有空会更新美化版。
文章由官网发布,如若转载,请注明出处:https://www.veimoz.com/299
0 评论
2.8k
发表评论
热门文章
自媒体博客Spimes主题34w 阅读
Spimes主题专为博客、自媒体、资讯类的网站设计....
vCard主题个人简历主题13w 阅读
一款个人简历主题,可以简单搭建一下,具体也比较简单....
Splity博客双栏主题11w 阅读
仿制主题,Typecho博客主题,昼夜双版设计,可....
Spzac个人资讯下载类主题11w 阅读
用于作品展示、资源下载,行业垂直性网站、个人博客,....
热评文章
自媒体博客Spimes主题418 评论
Splity博客双栏主题187 评论
Spzac个人资讯下载类主题89 评论
Splinx博客图片主题35 评论
Spzhi知识付费社区主题34 评论
三栏清新博客S_blog主题30 评论
vCard主题个人简历主题29 评论
Pure轻简主题28 评论
尘集杂货铺和官网1t5-cn
11月11日
[已回复]
希望主题和播放器能支持SQLite数据库,AI能多个讯飞星火