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


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 相关文章推荐
newxtree.js代码
Mar 13 Javascript
jquery ajax 登录验证实现代码
Sep 23 Javascript
js模仿html5 placeholder适应于不支持的浏览器
Jan 13 Javascript
深入理解javascript中defer的作用
Dec 11 Javascript
js统计页面的来访次数实现代码
May 09 Javascript
Javascript中document.referrer隐藏来源的方法
Jan 16 Javascript
vue2.0实战之基础入门(1)
Mar 27 Javascript
xmlplus组件设计系列之分隔框(DividedBox)(8)
May 02 Javascript
Javascript中从学习bind到实现bind的过程
Jan 05 Javascript
Vue数据双向绑定的深入探究
Nov 27 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
Sep 27 Javascript
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
Dec 25 Vue.js
记一次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程序中的常见漏洞进行攻击(上)
2006/10/09 PHP
PHP根据传入参数合并多个JS和CSS文件的简单实现
2014/06/13 PHP
js 上下左右键控制焦点(示例代码)
2013/12/14 Javascript
jQuery 追加元素的方法如append、prepend、before
2014/01/16 Javascript
js获取判断上传文件后缀名的示例代码
2014/02/19 Javascript
jQuery子窗体取得父窗体元素的方法
2015/05/11 Javascript
JS 实现倒计时数字时钟效果【附实例代码】
2016/03/30 Javascript
关于原生js中bind函数的简单实现
2016/08/10 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
2016/09/17 Javascript
深入理解javascript中concat方法
2016/12/12 Javascript
vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
2018/03/01 Javascript
详解ECMAScript typeof用法
2018/07/25 Javascript
Vue面试题及Vue知识点整理
2018/10/07 Javascript
react-router 路由切换动画的实现示例
2018/12/03 Javascript
JS实现公告上线滚动效果
2021/01/10 Javascript
[15:09]DOTA2国际邀请赛采访专栏:Loda
2013/08/06 DOTA
[41:52]2018DOTA2亚洲邀请赛3月29日小组赛B组Effect VS Secret
2018/03/30 DOTA
[01:45]典藏宝瓶2+祈求者身心——这就是DOTA2TI9总奖金突破3000万美元的秘密
2019/07/21 DOTA
Python计算两个日期相差天数的方法示例
2017/05/23 Python
python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE方法
2017/05/24 Python
python中使用正则表达式的后向搜索肯定模式(推荐)
2017/11/11 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
2018/01/04 Python
对Python中for复合语句的使用示例讲解
2018/11/01 Python
Python实现SQL注入检测插件实例代码
2019/02/02 Python
python实现两张图片拼接为一张图片并保存
2019/07/16 Python
python @classmethod 的使用场合详解
2019/08/23 Python
财务管理个人自荐书范文
2013/11/24 职场文书
服务中心夜班服务员岗位职责
2013/11/27 职场文书
车间操作工岗位职责
2013/12/19 职场文书
留学自荐信写作方法
2014/01/27 职场文书
《祁黄羊》教学反思
2014/04/22 职场文书
高中生评语大全
2014/04/25 职场文书
2014年社区矫正工作总结
2014/11/18 职场文书
2015年医药代表工作总结
2015/04/25 职场文书
社区文明倡议书
2015/04/28 职场文书
Docker与K8s关系介绍不会Docker也可以使用K8s
2022/06/25 Servers