发布时间:02-14

微信小程序中显示倒计时(简洁实操版)

本文主要阐述了“微信小程序中显示倒计时(简洁实操版)”,本文由跨屏互联最后更新于2026-02-14,全文共3571个字,预计阅读时长11分54秒

文 | 跨屏互联

跨屏互联从事建站十多年,小程序开发多年,分享一些干货,今天不绕弯子,直接给大家带来微信小程序倒计时功能的完整实现方案,代码可直接复制运行,适配活动倒计时、限时秒杀等多种场景,新手也能快速上手。

一、wxml文件(倒计时布局,直接复制)

核心是渲染天、时、分、秒四个模块,布局简洁,可根据自己的需求修改样式类名,适配项目UI。

<!--倒计时  -->
<view class="countDownTimeView countDownAllView" >
  <view class="voteText countDownTimeText">{{countDownDay}}天</view>
  <view class="voteText countDownTimeText">{{countDownHour}}时</view>
  <view class="voteText countDownTimeText">{{countDownMinute}}分</view>
  <view class="voteText countDownTimeText">{{countDownSecond}}秒</view>
</view>

关键说明

1.  四个view分别对应天、时、分、秒,通过数据绑定渲染实时倒计时数值;

2.  样式类(countDownTimeView、voteText等)可自定义,后续可根据项目需求修改样式,不影响功能实现;

3.  无需额外引入组件,原生view标签即可实现布局。

二、js文件(核心逻辑,直接复制运行)

核心逻辑:通过定时器每秒计算剩余时间,拆分天、时、分、秒,同步更新页面数据,倒计时结束后自动提示并重置数值,完整代码如下(可直接粘贴到页面js文件中)。

Page( {
  data: {
    windowHeight: 654,
    maxtime: "",
    isHiddenLoading: true,
    isHiddenToast: true,
    dataList: {},
    countDownDay: 0, // 倒计时-天
    countDownHour: 0, // 倒计时-时
    countDownMinute: 0, // 倒计时-分
    countDownSecond: 0, // 倒计时-秒
  },
  //事件处理函数(可保留,不影响倒计时功能)
  bindViewTap: function() {
    wx.navigateTo( {
      url: '../logs/logs'
    })
  },
  onLoad: function() {
    this.setData( {
      windowHeight: wx.getStorageSync( 'windowHeight' )
    });
  },
 
  // 页面渲染完成后 调用(倒计时核心方法,关键时机)
  onReady: function () {
    // 注意:1505540080 是目标时间戳,需替换成自己的目标时间戳(单位:秒)
    var totalSecond = 1505540080 - Date.parse(new Date())/1000;
 
    // 定时器,每秒执行一次,更新倒计时
    var interval = setInterval(function () {
      // 剩余秒数
      var second = totalSecond;
 
      // 计算天数(向下取整)
      var day = Math.floor(second / 3600 / 24);
      var dayStr = day.toString();
      // 补零(单数天数/小时/分钟/秒,显示为01、02...)
      if (dayStr.length == 1) dayStr = '0' + dayStr;
 
      // 计算小时数
      var hr = Math.floor((second - day * 3600 * 24) / 3600);
      var hrStr = hr.toString();
      if (hrStr.length == 1) hrStr = '0' + hrStr;
 
      // 计算分钟数
      var min = Math.floor((second - day * 3600 *24 - hr * 3600) / 60);
      var minStr = min.toString();
      if (minStr.length == 1) minStr = '0' + minStr;
 
      // 计算秒数
      var sec = second - day * 3600 * 24 - hr * 3600 - min*60;
      var secStr = sec.toString();
      if (secStr.length == 1) secStr = '0' + secStr;
 
      // 更新页面倒计时数据
      this.setData({
        countDownDay: dayStr,
        countDownHour: hrStr,
        countDownMinute: minStr,
        countDownSecond: secStr,
      });
      totalSecond--; // 每秒递减1
 
      // 倒计时结束,清除定时器,提示活动结束并重置倒计时
      if (totalSecond < 0) {
        clearInterval(interval);
        wx.showToast({
          title: '活动已结束',
        });
        this.setData({
          countDownDay: '00',
          countDownHour: '00',
          countDownMinute: '00',
          countDownSecond: '00',
        });
      }
    }.bind(this), 1000); // 1000ms = 1s,每秒执行一次
  },
 
  //cell事件处理函数(可保留,不影响倒计时功能)
  bindCellViewTap: function (e) {
    var id = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: '../babyDetail/babyDetail?id=' + id
    });
  }
})

三、核心说明+避坑重点(必看)

1.  目标时间戳修改(最关键)

代码中 1505540080 是目标结束时间的时间戳(单位:秒),必须替换成自己的目标时间(比如活动结束时间)。

获取时间戳方法:百度“时间戳转换工具”,输入目标日期时间,选择“秒级时间戳”,复制替换即可。

2.  核心逻辑解析

- 页面渲染完成(onReady)后启动定时器,每秒计算一次剩余时间;

- 通过数学运算拆分剩余秒数为天、时、分、秒,并用toString()+补零逻辑,保证显示格式统一(如01天、05分);

- 倒计时结束(totalSecond < 0),清除定时器(避免内存泄漏),弹出“活动已结束”提示,重置倒计时为00。

3.  避坑提醒

- 时间戳单位:必须是秒级,不能用毫秒级(否则倒计时会异常);

- 定时器绑定this:必须用 .bind(this),否则this指向错误,无法更新页面数据;

- 样式自定义:wxml中的样式类可随意修改,不影响倒计时核心功能,适配自己的项目UI即可;

- 冗余代码处理:js中bindViewTap、bindCellViewTap等无关方法,可根据自己的需求删除(不影响倒计时功能)。

总结

以上就是微信小程序倒计时的完整实现方案,wxml+js两段代码,复制粘贴后,仅需修改目标时间戳,就能直接运行。适配活动倒计时、限时秒杀、预约倒计时等所有小程序倒计时场景,代码简洁无冗余,新手也能快速落地。


---END---
欢迎关注【跨屏互联】,了解更多建站、小程序、SEO、GEO等互联网知识。

申明:若有来源错误或者侵犯您的合法权益,您可以通过邮箱与我们取得联系,我们将及时进行处理,邮箱地址:info@kuaping.com

原文链接:https://www.kuaping.com/article/show15203.html


看到这里了,顺便了解下 跨屏互联 建站Saas系统吧

注册地址:http://kuaping.com/business/register.php

市面上已经有不少自建站Saas系统了,为什么还要做跨屏Saas建站系统?这是一个外行不清楚,内行心知肚明的事情,市面上建站系统大多是拖拽式生成,这种做出来的网站代码很乱,对于seo很不好友。从事建站十多年,我见到太多了。

坚守品质,始终采用更利于seo的手写代码开发

我希望打破这个常规,跨屏互联7年自主开发的Saas建站系统,是一个费时费力的事情,我们所有模板都是手写代码开发,虽说是自助建站,但是和定制是一模一样的流程,所以出来的品质也是一模一样。而是自适应终端适配效果非常好。

对其wordpress,好过wordpress

我们是Wordpress十几年的使用者,对于wordpress我们非常熟悉,也非常喜欢,所以开发跨屏Saas建站系统的时候,汲取了来自wordpress的体验和思路。如果你也喜欢wordpress,跨屏互联的Saas建站后台你会感到熟悉。相比于wordpress,它的优势是无需购买服务器部署源码,注册账号就可以拥有前台后台,可以选择模板。

有软著 无风险,和钓鱼CMS建站系统彻底说拜拜

我们申请了软著-计算机软件著作权登记号:2017SR675691,相比于市面上有钓鱼的CMS建站系统,先免费等你下载使用,然后在起诉,选择跨屏互联SAAS建站系统,也省去了侵权风险。

我们的价格幅度从680~4980不等,不同模板不同价格,按工作量定价,让所有人都可以做得起网站,做放心的网站,做优质的网站,做价格透明的网站。


小程序常见问题

小程序开发为什么选择跨屏互联?
跨屏互联是十几年的建站公司,而小程序的开发语法是从网站基础上魔改的,没有太大区别,建站的经验可以完全复用,另外跨屏互联也有自营的小程序商城,微信小程序搜索“跨屏互联”即可查看。
有网站了?还要做小程序吗?
小程序可以作为官网的补充,小程序的优势比如在微信端更好的分享展示,利用微信的流量等。
微信小程序认证费用怎么算的?
认证费用是腾讯官方收取的,公司营业执照300元,个体户营业执照30元
小程序开发费用?
跨屏互联的定价比较平价,常规卖货商城小程序3~5000的居多,如需定制需要根据需求进行评估的。
小程序付费费用多少?
拒绝高价续费,以跨屏互联为例续费仅需1600元一年(包括售后维护,服务器空间,系统使用,域名和SSL证书)
微信客服

aming,建站从业生涯(2007~2025),加微信好友备注(跨屏互联)

电话沟通

027-81777732

回到顶部