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


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 相关文章推荐
浅析$.getJSON异步请求和同步请求
Jun 06 Javascript
javascript insertAfter()定义与用法示例
Jul 25 Javascript
JavaScript判断浏览器对CSS3属性是否支持的多种方法
Nov 13 Javascript
详解在Angularjs中ui-sref和$state.go如何传递参数
Apr 24 Javascript
详解Angular 4.x NgTemplateOutlet
May 24 Javascript
详解Vue单元测试Karma+Mocha学习笔记
Jan 31 Javascript
vue自定义filters过滤器
Apr 26 Javascript
jQuery实现每隔一段时间自动更换样式的方法分析
May 03 jQuery
vue组件创建的三种方式小结
Feb 03 Javascript
vscode 配置vue+vetur+eslint+prettier自动格式化功能
Mar 23 Javascript
JavaScript实现滑块验证解锁
Jan 07 Javascript
MutationObserver在页面水印实现起到的作用详解
Jul 07 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
做个自己站内搜索引擎
2006/10/09 PHP
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
2013/05/07 PHP
PHP创建对象的六种方式实例总结
2019/06/27 PHP
Laravel5.1 框架响应基本用法实例分析
2020/01/04 PHP
DB.ASP 用Javascript写ASP很灵活很好用很easy
2011/07/31 Javascript
详解javascript函数的参数
2015/11/10 Javascript
JS+CSS实现鼠标经过弹出一个DIV框完整实例(带缓冲动画渐变效果)
2016/03/25 Javascript
JavaScript表单焦点自动切换代码
2016/07/24 Javascript
详细谈谈javascript的对象
2016/07/31 Javascript
详解angularjs中的隔离作用域理解以及绑定策略
2017/05/31 Javascript
重新认识vue之事件阻止冒泡的实现
2018/08/02 Javascript
javascript和php使用ajax通信传递JSON的实例
2018/08/21 Javascript
浅谈ElementUI中switch回调函数change的参数问题
2018/08/24 Javascript
vue+SSM实现验证码功能
2018/12/07 Javascript
详解如何使用nvm管理Node.js多版本
2019/05/06 Javascript
js blob类型url的视频下载问题的解决
2019/11/29 Javascript
js实现动态时钟
2020/03/12 Javascript
python统计文本字符串里单词出现频率的方法
2015/05/26 Python
Python中time模块与datetime模块在使用中的不同之处
2015/11/24 Python
Python2随机数列生成器简单实例
2017/09/04 Python
解决pycharm不能自动补全第三方库的函数和属性问题
2020/03/12 Python
python如何遍历指定路径下所有文件(按按照时间区间检索)
2020/09/14 Python
工程造价专业大学生自荐信
2013/10/01 职场文书
药学专业学生的自我评价分享
2014/02/06 职场文书
我的梦想演讲稿
2014/04/30 职场文书
怎样拟定创业计划书
2014/05/01 职场文书
企业诚信承诺书
2014/05/23 职场文书
银行会计主管岗位职责
2014/10/01 职场文书
党组织领导班子整改方案
2014/10/25 职场文书
2014年卫生工作总结
2014/11/27 职场文书
优秀少先队员事迹材料
2014/12/24 职场文书
万里长城导游词
2015/01/30 职场文书
文明旅游倡议书
2015/04/28 职场文书
董事长秘书工作总结
2015/08/14 职场文书
教师病假条范文
2015/08/17 职场文书
python机器学习创建基于规则聊天机器人过程示例详解
2021/11/02 Python