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


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 相关文章推荐
豆瓣网的jquery代码实例
Jun 15 Javascript
js 无提示关闭浏览器页面的代码
Mar 09 Javascript
Javascript 类型转换方法
Oct 24 Javascript
纯CSS3代码实现滑动开关效果
Aug 19 Javascript
jQuery ajax应用总结
Jun 02 Javascript
js智能获取浏览器版本UA信息的方法
Aug 08 Javascript
js实现密码强度检验
Jan 15 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
Feb 08 Javascript
js实现简单的获取验证码按钮效果
Mar 03 Javascript
Vue2.0实现1.0的搜索过滤器功能实例代码
Mar 20 Javascript
vue用addRoutes实现动态路由的示例
Sep 15 Javascript
vue父组件向子组件传递多个数据的实例
Mar 01 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
星际争霸任务指南——虫族
2020/03/04 星际争霸
改写ThinkPHP的U方法使其路由下分页正常
2014/07/02 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
2016/03/21 PHP
浅谈PHP表单提交(POST&amp;GET&amp;URL编/解码)
2017/04/03 PHP
PHP数据库编程之MySQL优化策略概述
2017/08/16 PHP
JS中不为人知的五种声明Number的方式简要概述
2013/02/22 Javascript
JavaScript中实现sprintf、printf函数
2015/01/27 Javascript
js兼容pc端浏览器并有多种弹出小提示的手机端浮层控件实例
2015/04/29 Javascript
AngularJs 利用百度地图API 定位当前位置 获取地址信息
2017/01/18 Javascript
React教程之Props验证的具体用法(Props Validation)
2017/09/04 Javascript
详解vue-cli脚手架中webpack配置方法
2018/08/22 Javascript
Angular Excel 导入与导出的实现代码
2019/04/17 Javascript
Node.js API详解之 V8模块用法实例分析
2020/06/05 Javascript
Vue 的 v-model用法实例
2020/11/23 Vue.js
Vue 实例中使用$refs的注意事项
2021/01/29 Vue.js
python实现决策树C4.5算法详解(在ID3基础上改进)
2017/05/31 Python
Python实现扩展内置类型的方法分析
2017/10/16 Python
Python字典数据对象拆分的简单实现方法
2017/12/05 Python
用python编写第一个IDA插件的实例
2018/05/29 Python
详解Python_shutil模块
2019/03/15 Python
python mqtt 客户端的实现代码实例
2019/09/25 Python
如何查看Django ORM执行的SQL语句的实现
2020/04/20 Python
input file上传文件样式支持html5的浏览器解决方案
2012/11/14 HTML / CSS
阻止移动设备(手机、pad)浏览器双击放大网页的方法
2014/06/03 HTML / CSS
HTML5地理定位实例
2014/10/15 HTML / CSS
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
英国皇室御用百货:福南梅森(Fortnum & Mason)
2017/12/03 全球购物
FirstCry阿联酋儿童和婴儿产品网上购物:FirstCry.ae
2021/02/22 全球购物
波兰最大的电商平台:Allegro.pl
2021/02/06 全球购物
存储过程和函数的区别
2013/05/28 面试题
医疗器械售后服务承诺书
2014/05/21 职场文书
投标人廉洁自律承诺书
2014/05/26 职场文书
2014年行政工作总结
2014/11/19 职场文书
小学英语复习计划
2015/01/19 职场文书
商务宴请邀请函范文
2015/02/02 职场文书
如何撰写创业策划书
2019/06/27 职场文书