微信页面倒计时代码(解决safari不兼容date的问题)
程序员文章站
2023-11-19 12:09:22
话不多说,请看下面代码
pc:
1.html页面:
<...
话不多说,请看下面代码
pc:
1.html页面:
<div class="atime"> <em id="t_d"></em> <em id="t_h"></em> <em id="t_m"></em> <em id="t_s"></em> </div>
2.js:
<script type="text/javascript"> function getrtime(){ var end = "<?php echo $info['end_date']; ?>"+" 23:59:59"; var endtime= new date(end); var nowtime = new date(); var t =endtime.gettime() - nowtime.gettime(); var d=0; var h=0; var m=0; var s=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中的 new date('2013-10-21') 的日期对象。
但是在ios5版本里面的safari解释new date('2013-10-21') 就不正确,在ios5的safari中返回的永远是"invalid date"。
后来我在网上查找了资料,原来是低版本的safari解释new date('2013-10-21')这个对象不一样,在ios5中的safari不支持这种写法,
而它支持的写法为new date('2013','10','21'),这样写就能解决"invalid date"的问题,能返回一个javascript date回来了。
想要ios5中的safari能正确解析new date()那么必须这么写
new date('2013/10/21'); 或者 var d = new date(date);d = d.getfullyear() > 0 ? d : new date(date.parse(date.replace(/-/g, "/")));
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
上一篇: jQuery学习笔记之入门