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


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 相关文章推荐
CSDN轮换广告图片轮换效果
Mar 27 Javascript
JavaScript操作XML实例代码(获取新闻标题并分页,并分页)
May 25 Javascript
JQuery模板插件 jquery.tmpl 动态ajax扩展
Nov 10 Javascript
解析dom中的children对象数组元素firstChild,lastChild的使用
Jul 10 Javascript
SinaEditor使用方法详解
Dec 28 Javascript
JS动态加载当前时间的方法
Feb 09 Javascript
js字符串操作方法实例分析
May 06 Javascript
基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍
May 12 Javascript
深入理解JS实现快速排序和去重
Oct 17 Javascript
js如何编写简单的ajax方法库
Aug 02 Javascript
Vue精简版风格概述
Jan 30 Javascript
微信小程序如何实现radio单选框单击打勾和取消
Jan 21 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学习笔记(毕业设计)
2012/02/21 PHP
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
2012/10/05 PHP
详解PHP+AJAX无刷新分页实现方法
2015/11/03 PHP
Linux下编译redis和phpredis的方法
2016/04/07 PHP
4种Windows系统下Laravel框架的开发环境安装及部署方法详解
2020/04/06 PHP
PHP实现计算器小功能
2020/08/28 PHP
JavaScript设计模式之代理模式介绍
2014/12/28 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(下)
2015/10/28 Javascript
Javascript必知必会(四)js类型转换
2016/06/08 Javascript
AngularJS解决ng-if中的ng-model值无效的问题
2017/06/21 Javascript
简单明了区分escape、encodeURI和encodeURIComponent
2018/05/26 Javascript
使用FormData实现上传多个文件
2018/12/04 Javascript
jQuery操作attr、prop、val()/text()/html()、class属性
2019/05/23 jQuery
layui实现给某一列加点击事件
2019/10/26 Javascript
vue监听浏览器原生返回按钮,进行路由转跳操作
2020/09/09 Javascript
[07:59]2014DOTA2叨叨刀塔 林熊猫称被邀请赛现场盛况震撼
2014/07/21 DOTA
[52:27]2018DOTA2亚洲邀请赛 3.31 小组赛B组 paiN vs Secret
2018/04/01 DOTA
[02:38]DOTA2 夜魇暗潮2020活动介绍官方视频
2020/11/04 DOTA
基于python元祖与字典与集合的粗浅认识
2017/08/23 Python
Django中create和save方法的不同
2019/08/13 Python
python 根据网易云歌曲的ID 直接下载歌曲的实例
2019/08/24 Python
浅谈Tensorflow加载Vgg预训练模型的几个注意事项
2020/05/26 Python
python使用scapy模块实现ping扫描的过程详解
2021/01/21 Python
使用phonegap获取位置信息的实现方法
2017/03/31 HTML / CSS
Puritan’s Pride(普丽普莱)官方网站:美国最大最全的保健品公司之一
2016/10/23 全球购物
体验完美剃须:The Art of Shaving
2018/08/06 全球购物
工程管理专业个人求职信范文
2013/12/07 职场文书
犯错检讨书
2014/02/21 职场文书
电子银行业务授权委托书
2014/10/10 职场文书
律师函格式范本
2015/05/27 职场文书
歌舞青春观后感
2015/06/10 职场文书
2015年计算机教学工作总结
2015/07/22 职场文书
《雷雨》教学反思
2016/02/20 职场文书
2016优秀毕业生个人事迹材料
2016/02/29 职场文书
MySQL 中如何归档数据的实现方法
2022/03/16 SQL Server
nginx访问报403错误的几种情况详解
2022/07/23 Servers