需求和思路
需要重点是这个 结束时间
要展示倒记时。思路是用setTimeout()函数做。
遇到的问题
数据库传过来的日期类型在IOS
不能正确解析
代码
//倒计时函数 一秒钟执行一次
setInterval(daojishi,1000);
//倒计时函数 用each 遍历所有需要处理的时间
function daojishi(){
$(".truetime").each(function(){
var end= $(this).html();
var end_on=formatStr(end);//解决ios手机不兼容问题
var curtime=new Date();
var endtime=new Date(end_on);
var lefttime= parseInt((endtime.getTime()-curtime.getTime())/(1000));
if (lefttime>0) {
var day=parseInt(lefttime/(24*60*60));
var hours=parseInt( (lefttime/(60*60))%24);
var minutes=parseInt( (lefttime/(60))%60);
var seconds=parseInt( (lefttime)%60);
hours =checkout(hours);
minutes =checkout(minutes);
seconds =checkout(seconds);
var title =day+' 天 '+hours+' 小時 '+minutes+' 分 '+seconds+' 秒 ';
}else{
var title="时间结束"
}
$(this).next('span').html(title);
});
};
出现的问题
数据库拿出来的时间是 2016-06-08 这种时间iOS并不兼容 出现未定义的时间格式 所以用下面的函数转一下 成2016/06/08
解决办法
function formatStr(str) {
str=str.replace(/-/g,"/");
};
对程序的思考
倒计时中使用了
var curtime=new Date();