微信页面倒计时代码(解决safari不兼容date的问题)

 更新时间:2016年12月13日 16:06:07   作者:Pikachu丶  
本文主要分享了微信页面倒计时代码(pc端),并在文章结尾分析了safari不兼容date的原因以及解决方法,具有很好的参考价值,需要的朋友一起来看下吧

话不多说,请看下面代码

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, "/")));

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

相关文章

  • js实现简单选项卡与自动切换效果的方法

    js实现简单选项卡与自动切换效果的方法

    这篇文章主要介绍了js实现简单选项卡与自动切换效果的方法,涉及javascript操作选项卡与自动切换效果的实现技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • bootstrap轮播模板使用方法详解

    bootstrap轮播模板使用方法详解

    这篇文章主要介绍了bootstrap轮播模板的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • layui 动态设置checbox 选中状态的例子

    layui 动态设置checbox 选中状态的例子

    今天小编就为大家分享一篇layui 动态设置checbox 选中状态的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • uniapp添加车牌组件的实现与使用

    uniapp添加车牌组件的实现与使用

    uniapp是2019年火爆的一个Dcloud开发跨平台前端工具,下面这篇文章主要给大家介绍了关于uniapp添加车牌组件的实现与使用,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • 基于JS实现小区楼的电梯运行程序

    基于JS实现小区楼的电梯运行程序

    本文介绍了如何使用JavaScript实现一个简单的小区楼电梯运行程序,用户可以通过点击楼层来选择目标楼层,并模拟电梯的上下行,文章还提示了如何扩展该程序,例如添加更多楼层、优化移动逻辑和添加动画效果,感兴趣的朋友一起看看吧
    2025-01-01
  • javaScript中indexOf用法技巧

    javaScript中indexOf用法技巧

    在本篇文章里小编给大家整理的是一篇关于javaScript中indexOf用法技巧的相关文章,有需要的朋友们学习下。
    2019-11-11
  • 探究JavaScript中的五种事件处理程序方式

    探究JavaScript中的五种事件处理程序方式

    本篇文章主要介绍了JavaScript中的五种事件处理程序方式,具有一定的参考价值,有需要的可以了解一下。
    2016-12-12
  • JavaScript中的值类型详细介绍

    JavaScript中的值类型详细介绍

    这篇文章主要介绍了JavaScript中的值类型详细介绍,本文讲解了Primitive、Object、JS自带全局对象、Immutable与Mutable等内容,需要的朋友可以参考下
    2014-12-12
  • 详解如何使用JSZip实现在浏览器中操作文件与文件夹

    详解如何使用JSZip实现在浏览器中操作文件与文件夹

    这篇文章主要介绍了如何使用JSZip实现在浏览器中操作文件与文件夹,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下
    2024-04-04
  • JavaScript 中“...” 的多种用途及代码实例

    JavaScript 中“...” 的多种用途及代码实例

    扩展运算符(Spread Operator)和剩余参数(Rest Parameters)是JavaScript中的两个非常有用的特性,实际应用中,这些功能可以用于合并数组、复制对象属性等操作,极大地提高了JavaScript编程的便利性和功能性,感兴趣的朋友跟随小编一起看看吧
    2024-09-09

最新评论