微信小程序 列表倒计时
最近要实现一个列表倒计时的功能,写了个demo
展示图
  
<view class="center colu">
<view class="time" wx:for='{{list}}' style="color:{{item.color}}">{{item.show_time}}</view>
</view>
Page({
  /**
   * 页面的初始数据
   */
  data: {
    list: []
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    let datas = [];
    let current = new Date().getTime() / 1000;for (let i = 0; i < 5; i++) {
      datas.push({})
    }
    for (let i in datas) {
      let color = this.randomColor();
      let random = Math.random().toFixed(2) * 10000;
      datas[i].timer = setInterval(() => {
        //截止时间
        let time = current + random;
        time--;
        let now = new Date().getTime();
        let diff = parseInt(time - now / 1000);
        if (diff < 0) {
          let list = this.data.list;
          clearInterval(list[i].timer)
          this.setData({
            list
          })
        } else {
          let date = this.formattime(diff * 1000);
          datas[i].show_time = date;
          datas[i].color = color;
          this.setData({
            list: datas
          })
        }
      }, )
    }
  },
  randomColor() {
    var r = Math.floor(Math.random() * 256);
    var g = Math.floor(Math.random() * 256);
    var b = Math.floor(Math.random() * 256);
    return "rgb(" + r + ',' + g + ',' + b + ")";
  },
  formattime(time) {
    var leave1 = time % (24 * 3600 * 1000) //计算小时
    var hour = Math.floor(leave1 / (3600 * 1000))
    var leave2 = leave1 % (3600 * 1000) //计算分钟
    var minute = Math.floor(leave2 / (60 * 1000))
    var leave3 = leave2 % (60 * 1000) //计算秒
    var second = Math.round(leave3 / 1000) == '60' ? '00' : Math.round(leave3 / 1000)
    return [hour, minute, second].map(this.formatNumber).join(':')
  },
  formatNumber(n) {
    n = n.toString()
    return n[1] ? n : '0' + n
  },
})
微信小程序 列表倒计时的更多相关文章
- 微信小程序-列表渲染多层嵌套循环
		
微信小程序-列表渲染多层嵌套循环 入门教程之列表渲染多层嵌套循环,目前官方的文档里,主要是一维数组列表渲染的案例,还是比较简单单一,给刚入门的童鞋还是无从入手的感觉. <view wx:for= ...
 - 微信小程序之倒计时插件   wxTimer
		
微信小程序之倒计时插件 wxTimer 介绍: 用于在微信小程序中进行倒计时的组件. 功能: 1.最基础的当然就是倒计时功能了. 2.可以设置倒计时结束后执行的事件. 3.可以设置倒计时执行过程中 ...
 - 微信小程序列表项滑动显示删除按钮
		
微信小程序并没有提供列表控件,所以也没有iOS上惯用的列表项左滑删除的功能,SO只能自己干了. 原理很简单,用2个层,上面的层显示正常的内容,下面的层显示一个删除按钮,就是记录手指滑动的距离,动态的来 ...
 - 微信小程序列表加载更多
		
概述 基于小程序开发的列表加载更多例子. 详细 代码下载:http://www.demodashi.com/demo/13632.html 一.前言 基于小程序开发的列表加载更多例子. 二.运行效果 ...
 - 微信小程序 - 考试倒计时
		
源码如下(csdn提供了思路 , 多谢 ,第二个小程序项目,有惊无险(_._): Page({ /** * 页面的初始数据 */ data: { timer: '', //定时器名字 countDow ...
 - 微信小程序单个倒计时效果
		
var end_time = grouponList.expire_time.replace(/-/g, '/') grouponcountdown(that, end_time) //适用于商品列表 ...
 - 小程序列表倒计时 wxs 实现
		
效果 代码 js //拿到服务器时间 var serverLocalDate = data.serverLocalDate; //调用函数开始计时 this.serverLocalDate(serve ...
 - 微信小程序 验证码倒计时组件
		
https://blog.csdn.net/susuzhe123/article/details/80032224
 - 微信小程序 列表渲染 wx:for
		
wx:for控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件. wx:for-item指定数组当前元素,或当前项的变量名wx:for-index 指定数组当前下标的变量名 <view ...
 
随机推荐
- 思科ISE配置专题–ISE部署方式
			
ISE部署方式有三种: 1.Standalong Deployment 所谓Standalong部署就是只有一台ISE,所有的组件都安装在这一台上面.一台ISE装好的时候默认是“Standalong” ...
 - UVA 10881 Piotr's Ants(模拟)
			
题目链接:https://vjudge.net/problem/UVA-10881 其实这道题的关键只有一句话: 当两个蚂蚁因碰撞而掉头的时候,我们完全可以认为是两个点对穿而过. 这时候我们的主要任务 ...
 - IQueryable、IEnumberable 、IList与List区别
			
IEnumerable:使用的是LINQ to Object方式,它会将AsEnumerable()时对应的所有记录都先加载到内存,然后在此基础上再执行后来的Query IQeurable(IQuer ...
 - 启动MySQL5.7时报错:initialize specified but the data directory has files in it. Aborting.
			
启动MySQL5.7时报错:initialize specified but the data directory has files in it. Aborting 解决方法: vim /etc/m ...
 - htm5实现 文件夹上传
			
观察百度云上传,可以看到input type=file 的标签上加个一个属性“webkitdirectory”,加上次属性即可选择整个文件夹.
 - stm32控制步进电机加减速
			
实习公司项目需要控制步进电机,电机方面主要包括控制运动.加减速.限位.下面介绍一下在电机控制方面的心得,由于对于电机的控制不需要很精确,并且自身能力有限,相比于大牛有很大的差距. 1.需要实现的功能 ...
 - LAMP调优
			
1.编译安装httpd前修改: 在安装包目录下 vim include/ap_release.h 搜索:BASEVENDOR 修改其八项隐藏curl -I http://地址 中的Server ...
 - qq音乐解析API
			
文档:www.tjit.net 开放的接口:api88.net 个人代码: input2(event){ //将字符转化为encodeURL编码,才能进行正确请求,这是这个接口要求的 //js自带的转 ...
 - EVE上传Dynamips、IOL和QEMU镜像
			
1.镜像保存目录: /opt/unetlab/addons ---/dynamips Dynamips镜像保存目录 ---/iol IOL镜像保存目录(运行IOU的镜像 ...
 - Scrapy 命令
			
Scrapy提供了两种类型的命令.一种必须在Scrapy项目中运行(针对项目(Project-specific)的命令),另外一种则不需要(全局命令).全局命令在项目中运行时的表现可能会与在非项目中运 ...