【微信小程序】【可重用代码】基于数据库时间实现商品倒计时

javascript 文章 2022-07-22 18:20 501 0 全屏看文

AI助手支持GPT4.0

最近做拍卖小程序,里面有一个需求是监控拍卖时间,需要对时间进行动态的倒计时显示

从构思开始,做这个倒计时也花了我4个小时多,也遇到了很多问题,现在我把完整的功能给实现了,可以拿来套用,只需要传入你自己数据库的时间即可。

1、第一个函数

//传入数据库结束时间参数并计算倒计时
  countdown(endTime){//取出竞拍结束时间,精确到秒,如果数据库设置的是精确到毫秒,这里需要再除以1000
        let auctionEndtime = res.data.end_time
        console.log(res)
        //获取当前系统时间,默认精确到毫秒,这里要用秒,所以除以1000
        var nowTime = new Date().getTime() / 1000
        //剩余时间总的秒数
        var totalSecond = Math.floor(auctionEndtime - nowTime)
        console.log('剩余秒数',totalSecond)
        //计算倒计时
        this.doCountdown(totalSecond)
  }

2、第二个函数

 //计算商品倒计时
  doCountdown(totalSecond){
    let _this = this
    //每隔一秒执行一次代码,将计数器赋值给页面变量myTime
    myTime =  setInterval(function () {
        //如果竞拍已经结束
        if(totalSecond < 0){
          _this.setData({
            clock: ''
          })
          clearInterval(myTime)
          return 
        }else{
          //执行计算
          var time = _this.formatTime(totalSecond)
          _this.setData({
            clock: time
          })
        }
        totalSecond --;
    },1000)
  },

注意,需要在page()上面定义页面全局变量myTime,以便对计数器进行清除

 3、第三个函数

//倒计时时间格式化
  formatTime(totalSecond){
    //剩余天数
    var day = Math.floor(totalSecond / 3600 / 24)
    /天后剩余小时数
    var hour = Math.floor(totalSecond /3600 % 24)
    /天n小时后剩余分钟数
    var min = Math.floor(totalSecond / 60 % 60)
    /天n小时n分钟后剩余秒数
    var sec = Math.floor(totalSecond % 60)
    return day + "天" + hour + "小时" + min + "分" + sec + "秒"
  }

4、计数器的清除

每次离开页面需要清除计数器

-EOF-

AI助手支持GPT4.0


国内超级便宜服务器

摸鱼人热门新闻聚合

钻级赞助商 我要加入

开发者在线工具

第三方支付技术请加QQ群

相关文章
NodeJS 5分钟 连接 Redis 读写操作
几行代码让您的网页bilibili地址渲染成播放器。
ES6中class方法及super关键字
数据类型
JavaScript基本知识点——带你逐步解开JS的神秘面纱
随便看看
怎么添加小程序支付功能? 4312
教育科技公司申请微信支付被拒绝? 4695
微信公众号免300认证教程 5776
小程序已经上线,作为管理员无法在小程序数据助手查看数据? 5187
小程序广告组件通过审核,但是小程序内没有显示广告? 4962
企业微信通讯录账号被管理员误/恶意删除,怎么办? 9389
问题? 8910
如何快速搭建抽奖助手小程序(无需代码知识) 6039
许涛 大哥在吗, 要解冻小程序的时候提示信息主体不一致, 能帮忙看下吗? 7343
小程序搜一搜全称搜索不显示 麻烦解决一下!谢谢 6671