收藏
回答

用setInterval函数做了个倒计时功能,真机调试开发工具调试都可以,一上线IOS倒计时就没用了

框架类型 问题类型 终端类型 微信版本 基础库版本
小程序 Bug 微信iOS客户端 8.0.7 2.16.0
countTime(){
    var that = this;
    var timer = setInterval(() => {
      var canbuy=that.data.can_buy;
      var date = new Date();
      var now = date.getTime();
      var endDate = new Date(that.data.expirtime);//设置截止时间
      var end = endDate.getTime();
      var leftTime = end - now; //时间差                              
      var m, s, ms;
      if (leftTime > 0) {
        m = Math.floor(leftTime / 1000 / 60 % 60);
        s = Math.floor(leftTime / 1000 % 60);
        ms = Math.floor(leftTime % 1000);
        ms = ms < 100 ? "0" + ms : ms
        s = s < 10 ? "0" + s : s
        m = m < 10 ? "0" + m : m
        canbuy=true
      } else {
        canbuy=false
        m=0
        s=0
        ms=0
      }
      m==0?'00':m,
      s==0?'00':s,
      that.setData({
        countdownTime:m+':'+s,
        can_buy:canbuy
      })
      if(!canbuy){
        clearInterval(timer)
      }
    }, 500)
  }


上线之后iphone11、iphone12倒计时都无效,用setTimeout函数也无效

回答关注问题邀请回答
收藏

2 个回答

  • C叔
    C叔
    发表于小程序端
    2021-07-10

    ios newDate 时间分隔需要-这个符号 不能/

    2021-07-10
    有用 1
    回复 6
    • Mr.Cy
      Mr.Cy
      2021-07-10
      是这种形式的2021-07-10 10:36:42,现在问题是在真机调试、开发工具模拟器倒计时都可以用,只要发布上线了就没效果了
      2021-07-10
      回复
    • C叔
      C叔
      2021-07-10回复Mr.Cy
      直接用moment吧
      2021-07-10
      回复
    • i
W
      i W
      2021-07-12
      ios不能用 - 在分割,要用 /   前几天亲测
      2021-07-12
      1
      回复
    • Mr.Cy
      Mr.Cy
      2021-07-12回复i W
      是的,用 / 就好了。。。多谢
      2021-07-12
      回复
    • 2021-08-23回复Mr.Cy
      这是什么意思啊,我看你的代码里没有“/”这个啊
      2021-08-23
      回复
    查看更多(1)
  • 押尾不忧伤。
    押尾不忧伤。
    2021-12-25

    请问后面ok了的程序能截图看看吗?我也遇到了同样的问题,iPhone真机计时显示一直为0

    2021-12-25
    有用
    回复
登录 后发表内容