概述
直接写方法:
1、模型添加一个endtime字段。
2、JS代码(直接写在模板页面的head区域即可)
<script language="javascript" type="text/javascript">
var intervalId;
var interval = 1000;
function ShowCountDown(year,month,day,divname)
/
/
说明:这里定义一个倒计时函数,函数内变量分别为年,月,日,显示区域id
{
var now = new Date();
var endDate = new Date(year, month-1, day);
var leftTime=endDate.getTime()-now.getTime();
var leftsecond = parseInt(leftTime/1000);
//var day1=parseInt(leftsecond/(24*60*60*6));
var day1=Math.floor(leftsecond/(60*60*24));
var hour=Math.floor((leftsecond-day1*24*60*60)/3600);
var minute=Math.floor((leftsecond-day1*24*60*60-hour*3600)/60);
var second=Math.floor(leftsecond-day1*24*60*60-hour*3600-minute*60);
var cc = document.getElementById(divname);
if((day1<0 || hour<0 || minute<0 || second<0) || (day1==0 && hour==0 && minute==0 && second<=0) || (day1==0 && hour==0 && minute==0 && second0)){
cc.innerHTML = "众筹结束:<c class=F60>时间已到</c>";
window.clearInterval(intervalId);
}else{
cc.innerHTML = "众筹结束:<c class=F60>"+year+"年"+month+"月"+day+"日,还有"+day1+"天"+hour+"小时"+minute+"分"+second+"秒</c>";
}
}
intervalId = window.setInterval(function(){ShowCountDown(
2017,10,01,'divdown1');}, interval);
//说明,在这里的2017,10,01就是自定义字段里要填写的结束时间,考虑到结束时间字段可能要在列表页或首页等区域展示,而且可能以不同的格式显示,比如显示为2017年10月1日这种格式,如果在填写结束时间字段时直接填写为2017,10,01虽然方便了内容页面倒计时代码中时间的调用,但是若在其他地方换种格式调用就困难的多,所以为了解决这个问题,在前端输入结束时间字段时的格式建议个newstime的格式一致,然后写一个时间转换函数,将这个结束时间转换为时间戳,存入数据库。
</script>
3、在内容页面通过php代码实现结束时间格式的转化,即从时间戳格式转化为2017,10,01这种格式,代码如下
<?php
$year=date('Y',$navinfor[endtime]) ;
$mouth=date('m',$navinfor[endtime]) ;
$day=date('d',$navinfor[endtime]) ;
?>
补充说明:
自定义结束时间字段,如何实现把2017-10-01 20:46:11这种格式的时间,转化为时间戳存入数据库呢?这就用到了下边的函数。(自定义的一个函数)
放到e/class/userfun.php里即可。
function timetounix($mid,$f,$isadd,$isq,$value,$cs){
$value=strtotime($value);
return $value;
}
然后在模型-管理字段中添加这个函数即可,见下图
最终实现效果如下图
以上内容如有不明白的,可以添加1688源码 微信公众号,给我们留言,还可获取源码哦。
转载请注明出处!
最后
以上就是勤恳白昼为你收集整理的帝国CMS仿站 商品倒计时功能实现的全部内容,希望文章能够帮你解决帝国CMS仿站 商品倒计时功能实现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复