微信页面倒计时代码(解决safari不兼容date的问题)
话不多说,请看下面代码
PC:
1.html页面:
<divclass="aTime"> <emid="t_d"></em> <emid="t_h"></em> <emid="t_m"></em> <emid="t_s"></em> </div>
2.js:
<scripttype="text/javascript">
functionGetRTime(){
varend="<?phpecho$info['end_date'];?>"+"23:59:59";
varEndTime=newDate(end);
varNowTime=newDate();
vart=EndTime.getTime()-NowTime.getTime();
vard=0;
varh=0;
varm=0;
vars=0;
if(t>=0){
d=Math.floor(t/1000/60/60/24);
h=Math.floor(t/1000/60/60%24);
m=Math.floor(t/1000/60%60);
s=Math.floor(t/1000%60);
}
document.getElementById("t_d").innerHTML=d;
document.getElementById("t_h").innerHTML=h;
document.getElementById("t_m").innerHTML=m;
document.getElementById("t_s").innerHTML=s;
}
setInterval(GetRTime,1000);
</script>
以上代码在safari中出错,原因是:
在IOS5以上版本(不包含IOS5)中的Safari浏览器能正确解释出Javascript中的newDate('2013-10-21')的日期对象。
但是在IOS5版本里面的Safari解释newDate('2013-10-21')就不正确,在IOS5的Safari中返回的永远是"InvalidDate"。
后来我在网上查找了资料,原来是低版本的Safari解释newDate('2013-10-21')这个对象不一样,在IOS5中的Safari不支持这种写法,
而它支持的写法为newDate('2013','10','21'),这样写就能解决"InvalidDate"的问题,能返回一个JavascriptDate回来了。
想要IOS5中的Safari能正确解析newDate()那么必须这么写
newDate('2013/10/21'); 或者 vard=newDate(date);d=d.getFullYear()>0?d:newDate(Date.parse(date.replace(/-/g,"/")));
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持毛票票!