小程序实现列表多个批量倒计时


Posted in Javascript onJanuary 29, 2021

最近在写一个列表功能,列表中有倒计时的效果,网上没有可用的素材,以下是本人自己写的,如有问题,希望大家指出。

先来看看基本的效果

小程序实现列表多个批量倒计时

小程序中列表倒计时,类似活动倒计时列表,列表中有多个倒计时效果,且不冲突

先把时间打印出来,放在data中,然后在写计时器;如果先写计时器,然后把打印出来的时间放在data就会报错,setData不支持这种操作。

数据文件(dates.js,返回的时间数据是剩余时间)

var dates=[
 {
 dat:324235235
 },
 {
 dat:7200000
 },
 {
 dat:675875754
 }
]
 
module.exports = {
 datetime: dates
}

wxml文件(a.wxml)

<view wx:for="{{wearList.datetime}}" wx:for-item="item" wx:key="id">
 <view class='dates'>{{item.difftime}}</view>
</view>

js文件(a.js)

var dates=require('../utils/dates.js');//数据文件
 
Page({
 data:{},
 onShow(a){
 // console.log(dates.datetime)//数据
 let that=this;
 let len=dates.datetime.length;//时间数据长度
 
 function nowTime() {//时间函数
  // console.log(a)
  for (var i = 0; i < len; i++) {
  var intDiff = dates.datetime[i].dat;//获取数据中的时间戳
  // console.log(intDiff)
  var day=0, hour=0, minute=0, second=0;  
  if(intDiff > 0){//转换时间
   day = Math.floor(intDiff / (60 * 60 * 24));
   hour = Math.floor(intDiff / (60 * 60)) - (day * 24);
   minute = Math.floor(intDiff / 60) - (day * 24 * 60) - (hour * 60);
   second = Math.floor(intDiff) - (day * 24 * 60 * 60) - (hour * 60 * 60) - (minute * 60);
   if(hour <=9) hour = '0' + hour;
   if (minute <= 9) minute = '0' + minute;
   if (second <= 9) second = '0' + second;
   dates.datetime[i].dat--;
   var str=hour+':'+minute+':'+ second 
   // console.log(str) 
  }else{
   var str = "已结束!";
   clearInterval(timer); 
  }
  // console.log(str);
  dates.datetime[i].difftime = str;//在数据中添加difftime参数名,把时间放进去
  }
  that.setData({
  wearList: dates
  })
  // console.log(that)
 }
 
 nowTime();
 var timer = setInterval(nowTime, 1000);
 
 }
})

小程序中列表倒计时,类似活动倒计时列表,列表中有多个倒计时效果,且不冲突

先把时间打印出来,放在data中,然后在写计时器;如果先写计时器,然后把打印出来的时间放在data就会报错,setData不支持这种操作。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 学习书 推荐
Jun 13 Javascript
JavaScript 利用StringBuffer类提升+=拼接字符串效率
Nov 24 Javascript
JavaScript按位运算符的应用简析
Feb 04 Javascript
通过url查找a元素并点击
Apr 09 Javascript
javaScript事件学习小结(四)event的公共成员(属性和方法)
Jun 09 Javascript
js生成随机数(指定范围)的实例代码
Jul 10 Javascript
jQuery实用小技巧_输入框文字获取和失去焦点的简单实例
Aug 25 Javascript
深入理解ES7的async/await的用法
Sep 09 Javascript
JavaScript设计模式之构造函数模式实例教程
Jul 02 Javascript
vue中使用gojs/jointjs的示例代码
Aug 24 Javascript
mpvue项目中使用第三方UI组件库的方法
Sep 30 Javascript
在vue中使用eslint,配合vscode的操作
Nov 09 Javascript
记一次vue-webpack项目优化实践详解
Feb 17 #Javascript
Vuepress 搭建带评论功能的静态博客的实现
Feb 17 #Javascript
详解javascript replace高级用法
Feb 17 #Javascript
Nuxt.js 数据双向绑定的实现
Feb 17 #Javascript
详解微信小程序实现仿微信聊天界面(各种细节处理)
Feb 17 #Javascript
JavaScript遍历DOM元素的常见方式示例
Feb 16 #Javascript
原生JS实现逼真的图片3D旋转效果详解
Feb 16 #Javascript
You might like
php 代码优化之经典示例
2011/03/24 PHP
在PHP中利用wsdl创建标准webservice的实现代码
2011/12/07 PHP
PHP学习笔记 IIS7下安装配置php环境
2012/10/29 PHP
一致性哈希算法以及其PHP实现详细解析
2013/08/24 PHP
PHP记录搜索引擎蜘蛛访问网站足迹的方法
2015/04/15 PHP
深入理解JavaScript系列(3) 全面解析Module模式
2012/01/15 Javascript
使用js在页面中绘制表格核心代码
2013/09/16 Javascript
jquery日历控件实现方法分享
2014/03/07 Javascript
javascript操作数组详解
2014/12/17 Javascript
基于Jquery实现表单验证
2020/07/20 Javascript
Bootstrap网格系统详解
2016/04/26 Javascript
关于vuex的学习实践笔记
2017/04/05 Javascript
用node和express连接mysql实现登录注册的实现代码
2017/07/05 Javascript
Angular2学习笔记之数据绑定的示例代码
2018/01/03 Javascript
Vue修改mint-ui默认样式的方法
2018/02/03 Javascript
解决layui 表单元素radio不显示渲染的问题
2019/09/04 Javascript
小程序api实现promise封装过程解析
2019/11/21 Javascript
js 动态校验开始结束时间的实现代码
2020/05/25 Javascript
python获取文件后缀名及批量更新目录下文件后缀名的方法
2014/11/11 Python
python中实现指定时间调用函数示例代码
2017/09/08 Python
解决Python3中的中文字符编码的问题
2018/07/18 Python
python匹配两个短语之间的字符实例
2018/12/25 Python
python 计算两个列表的相关系数的实现
2019/08/29 Python
基于Python新建用户并产生随机密码过程解析
2019/10/08 Python
解决TensorFlow模型恢复报错的问题
2020/02/06 Python
Python根据字符串调用函数过程解析
2020/11/05 Python
python3爬虫中引用Queue的实例讲解
2020/11/24 Python
a标签下载链接的简单实现
2016/09/13 HTML / CSS
美国LOGO设计公司:The Logo Company
2018/07/16 全球购物
shallow copy和deep copy的区别
2016/05/09 面试题
小区门卫工作职责
2013/12/14 职场文书
项目合作协议书
2014/09/23 职场文书
教育合作协议范本
2014/10/17 职场文书
2015年司法所工作总结
2015/04/27 职场文书
基层医务人员三严三实心得体会
2016/01/05 职场文书
《孙子兵法》:欲成大事者,需读懂这些致胜策略
2019/08/23 职场文书