微信小程序页面实时倒计时

uniapp实现倒计时功能 阅读详情

模拟业务逻辑

每一个小时需要手动打卡一次,打卡后重新计时,根据接口返回时间计算倒计时。根据接口返回时间戳对比上次打卡时间,展示剩余时间。

定义字段

data: {
  BBtotalSeconds: 60 * 60, // 倒计时总秒数,60分钟转换为秒
  BBtimerText: '60分00秒', // 显示的倒计时文本
  BBtimer: null, // 定时器
  currentTimestampInSeconds: 0, // 当前时间的时间戳(以秒为单位)
},

定义函数

 
updateTime(){
 // 请求获取打卡状态 
 Http().then((resp) => { //模拟请求发送
  if(resp.data.type == 2){ //打卡过
      this.setData({ currentTimestampInSeconds:resp.data.time}) // 上次打卡时间
      const currentTimeInSeconds = Math.floor(Date.now() / 1000); //当前时间
      const timeDifferenceInSeconds =currentTimeInSeconds - resp.data.time ; //当前时间 - 打卡时间
      if (timeDifferenceInSeconds > 3600) { // 60分钟等于3600秒
        this.setData({BBtimerText: '已超时' });
      } else {
        this.resetTimer(3600- timeDifferenceInSeconds); // 如果没有超过60分钟,用剩余的时间继续倒计时
      }
  }else{ //没有打卡过
        if(!this.data.currentTimestampInSeconds){
 // 以秒为单位, 当前定时器开始时间
 this.setData({currentTimestampInSeconds :Math.floor(Date.now() / 1000)})
 this.startTimer(); //启动定时器
    }
  }
 
  
})
  },
// 创建定时器
  startTimer () {
    let totalSeconds = this.data.BBtotalSeconds;
    let that = this;
    this.data.BBtimer = setInterval(()=> {
        totalSeconds--;
        if (totalSeconds < 0) {
            clearInterval(that.data.BBtimer);
            that.setData({
                BBtimerText: '已超时'
            });
        } else {
            let minutes =Math.floor(totalSeconds / 60);
            let seconds =totalSeconds % 60;
            let sum =`${minutes < 10 ? '0' + minutes : minutes}:${seconds < 10 ? '0' + seconds : seconds}`
              that.setData({
                BBtimerText:sum 
            });
           
        }
    }, 1000); // 每秒更新一次
},
// 重置定时器
resetTimer(timeRemainingInSeconds) {
  clearInterval(this.data.BBtimer); // 清除定时器
  this.setData({
    BBtotalSeconds: timeRemainingInSeconds // 设置剩余时间
  });
  this.startTimer(); // 重新启动定时器
},

初始化运行函数

   onShow() {
        this.updateTime()
    }

uniapp微信小程序 - 一个页面多个倒计时(代码整理) uniapp微信小程序 - 一个页面多个倒计时(代码整理) 前几天公司新需求,需要在我们的小程序中添加拼团功能,写的过程中有有遇到写的很爽的地方,也有很头疼的功能,比如一个页面多个倒计时,这个小功能原以为不难,没想到居然让我研究了一整天才搞定,简直闹心,闲话少叙,下面贴代码 设计图(需求) 结构 <view class="group-list" v-for="item in messa... 阅读详情

相关推荐

微信小程序 使用canvas画圆形倒计时动画

参考文档:https://www.cnblogs.com/quietxin/p/9418813.html 效果: wxml页面 <view class="container"> <view class='progress_box'> <canvas class="progress_bg" canvas-id="canvasProgres...

xiaxia_Lin的博客 1527

微信小程序实现倒计时功能,一看就懂,直接用

非常简单明了的微信小程序中实现倒计时功能,结构完整,直接用就可以。

qq_44415875的博客 3394

使用微信小程序开发制作一个简易的倒计时应用

倒计时应用是一种常见的工具类应用,用于记录和显示倒计时的剩余时间。用户可以设置一个特定的时间,然后应用会计算并显示剩余的小时、分钟和秒数,同时提供开始、暂停和重置倒计时的功能。本文将使用微信小程序开发工具,使用小程序框架提供的API和组件,实现一个简易的倒计时应用。首先,定义页面的初始数据,包括倒计时的剩余时间、定时器的ID和状态。启动应用 保存并编译项目后,点击微信开发者工具的预览按钮,便可以在开发者工具的模拟器中运行和查看倒计时应用。最后,编写页面的计时器逻辑函数,用于更新倒计时的剩余时间。

吃不胖. 1710

微信小程序实现活动倒计时

2.格式化当前毫秒,自动补0,转换成一个数组,格式为[‘天’,‘时’, ‘分’, ‘秒’]。1.获取指定截止时间与当前时间的毫秒,即为剩余毫秒值,若剩余毫秒值小于0则返回0。

aaa123aaasqw的博客 2121

微信小程序倒计时功能深入解析与实现

微信小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的概念,用户扫一扫或搜一下即可打开应用。微信小程序对移动设备的适配性强,能实现良好的用户体验。对于小程序来说,倒计时是一个非常实用的功能,其应用广泛,例如设置提醒、限时活动、计时器等等。在本章中,我们将深入了解微信小程序的设计理念,以及如何高效实现一个倒计时功能,以满足实际应用场景的需求。## 微信小程序概述微信小程序是一种全新的连接用户与服务的方式,它通过微信内部的应用框架运行,不需要安装,不占用用户手机存储空间。

weixin_42509507的博客 1065

微信小程序倒计时组件开发教程

Promise是异步编程的一种解决方案,最早由社区提出和实现,ES2015将其写入了语言标准。Promise对象代表了一个异步操作的最终完成或失败及其结果值。是建立在Promise之上的语法糖,它可以让我们以同步的方式来写异步代码,使异步代码的可读性更强。Promise的基本用法如下:// 异步操作代码});});的使用示例:try {微信小程序、支付宝小程序等提供了专门的API来处理时间相关的操作。以微信小程序为例,和是其提供的定时器API。

weixin_35734408的博客 1469

微信小程序实现倒计时

微信小程序倒计时 大家好,今天我们来学习一下倒计时的实现,好好看,好好学,超详细的。 直接上代码吧 <view class="title-item">倒计时</view> <view class="countdown-item"> <view class="countdown-title"> <block> <text class='tui-conutdown-box'>{{days}}</text&g

java小白 9018

闲人闲谈PS之十二——WBS-BOM在装备制造项目中的实战解析

本文深入解析了WBS-BOM在装备制造项目中的核心应用。针对按订单设计/生产的行业痛点,WBS-BOM作为项目专属物料清单,完美连接SAP PS与PP模块,确保MRP能基于项目进行精准物料需求计算,实现从设计到生产的全链路项目化跟踪与管理。

weixin_29284885的博客 399

微信小程序圆环进度条倒计时资源

微信小程序圆环进度条倒计时资源 去发现同类优质开源项目:https://gitcode.com/ 此仓库包含了微信小程序实现圆环进度条倒计时的完整代码和资源。以下是该资源文件的详细信息: 资源简介 本资源提供了一种实现微信小程序内圆环进度条倒计时的方法。具体功能如下: 生成圆环进度条:该进度条用于倒计时,可根据设定的倒计时时间动态显示进度。 页面刷新保持进度:当用户重新进入页面时,圆环进度条能够...

gitblog_06712的博客 308

3.ESP32S3 AP 配网开发实战:HTTP 与 WebSocket 协议实现

本文介绍了基于ESP32S3的AP配网实现方案,通过HTTP协议提供配网网页,利用WebSocket实现双向通信。详细解析了HTTP和WebSocket协议特点,阐述了SPIFFS文件系统存储HTML网页的方法,包括分区表配置、CMakeLists设置和代码实现。工程采用模块化设计,包含WiFi管理、Web服务器、IO扩展等组件,支持手机浏览器直接配网。测试验证了从AP热点连接到路由器切换的全流程,并总结了SPIFFS操作、WebSocket通信等核心优化点。该方案无需专用APP,适合物联网设备快速部署场景

u011697185的专栏 960

哨兵一号数据下载

哨兵1号数据的下载过程

weixin_59617499的博客 5135

小程序来个倒计时系列

小程序做个秒杀倒计时???前言引入组件开发ing 前言 我们在一些商城(比如某东,某宝之类的),或者小程序都会看见一些秒杀的商品,上面都有一些倒计时,看上去都非常的高级的样子。我们可以简单的来想一下,如果让你来做小程序的秒杀时间,你会怎样做?这里无非就是知道秒杀的截止时间,知道当前的时间,用来做个差是不是就出来了呢?我们可以先来动手试一下…. 引入组件 首先,我们这里是做了个小程序里面商品的秒杀时间。我们想象中应该是非常的高级的样子,比如说下面这个样子 我们这里用的的是vant,如果不太清楚可以去了解一下

world5的博客 462

红外协议 IR NEC 协议深度解析-简单易懂协议详解

1. 协议特征 使用双向编码(又称曼彻斯特编码); 使用38K载波对编码后的波形进行调制; 位时间 1.12ms 或 2.25ms 2. 调制 定义脉冲560µS为脉冲基本宽度T; 根据脉冲时间长短来解码。推荐载波占空比为1/3至1/4: (1) Logic “1” 位宽为2.25ms,脉冲时间560us(T + 3T); (2) Logic “0” 位宽为1.12ms,脉冲时间560us(T + T)。 (3 ) 重复码: 位宽为11.25ms,脉冲时间9ms(16T + 4T)。 3. 协议

代码打工人的博客 1万+

小程序定时器的使用

*.wxml <view class='countDown'>倒计时:<text style='color:red'>{{countDownNum}}</text>s</view> *.js Page({ data: { timer: '',//定时器名字 countDownNum: '60'//倒计时初始值 }, o...

xioxi 6240

Transformers 中的 Softmax 可以并行加速么?

通过融合前两个计算步骤,降低执行Reduce_max和Reduce_sum等操作的通信开销。利用共享内存来存储临时数据,以减少对全局内存的访问成本。

stephen147的博客 1234

环保 HJ212协议解析

由于是做环保相关的,有时需要对212协议进行拆包和解包。HJ212协议是一种字符串协议,数据传输通讯包主要由包头、数据段长度、数据段、CRC校验、包尾组成,其中“数据段”内容包括请求编码、系统编码、命令编码、密码、设备唯一标识、总包数、包号、指令参数。请求编码为请求的时间戳,系统编码ST统一规定为22,命令编码CN为该数据包的时间类型,访问密码、设备唯一标识在对接时由平台提供,指令参数为数据内容。通讯协议的数据结构如图4所示。 图4 通讯协议的数据结构 6.1.1通讯包结构组成 名称 类型 长度

ccf19881030的专栏 2万+

小程序倒计时

针对一个页面列表中多个倒计时的难题 解决思路: 计时器单放一个数组,因为要实时操作,避免列表数据过大操作太笨重。 根据计时器列表的index 与列表数据的 index 相对,去找到自己对应的倒计时器。 页面刷新数据时要先 清除所有定时器 ,再重新加载,不然会出现连跳或者秒数来回跳动的问题。 // data里声明 timerList: [], allTimerList: [] // js 传...

CherryCola_zjl的博客 3840

如何在 SAP BTP 上使用 Integration Suite 消费 S/4HANA Cloud API

SAP Integration Suite是一个集成平台即服务(iPaaS),允许开发人员顺利地将内部部署和基于云的应用程序和流程与SAP管理的工具和预构建内容进行集成。登录 SAP Business Technology Platform Cockpit,进入 integration suite:再点击 API management 进入 API Portal:或者直接从收藏夹里打开链接:https://304a49cetrial.integrationsuitetrial-apiportal.cfapp

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1698

微信小程序倒计时功能

倒计时功能是一个比较常见的功能,比如用户获取验证码就需要用到。这里记录一下在微信小程序里面倒计时功能的简单实现 直接看看代码吧 //倒计时60秒 function countDown(that,count) { if (count == 0) { that.setData({ timeCountDownTop: '获取验证码', counting:false

AntDream的程序世界 5415

构建AI招聘助手:提高人才筛选与匹配效率

人工成本高:传统招聘过程涉及大量的简历筛选和面试安排,需要耗费大量的人力和时间。匹配效率低:简历筛选过程中,人为因素可能导致信息遗漏或误判,影响匹配效果。招聘周期长:从职位发布到最终录用,传统招聘流程往往耗时较长,影响企业业务发展。机器学习(Machine Learning)是一门让计算机通过数据和经验来学习并改进性能的学科。自然语言处理(Natural Language Processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向,旨在让计算机能够理解和解释人类语言。

AI天才研究院 1305

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

上一篇: uniapp开发小程序实现点击按钮跳转到企业微信客服聊天页面
姜姜酱酱_
博客等级 码龄4年 20粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值