微信页面倒计时代码(解决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,"/")));
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持毛票票!