文档章节

微信小程序倒计时组件更新,加入时间校准、多计时器功能

第九程序
 第九程序
发布于 2017/05/08 13:46
字数 658
阅读 28
收藏 0

针对在IOS下息屏和挂起状态下倒计时不会继续,以及在安卓状态下息屏导致变慢的问题进行的一次更新,具体效果请参考小程序 番茄闹钟。

暂时无法解决的痛点: 
1、在息屏和挂起下的倒计时结束以后需要跳转页面,但是有部分解决方案可以看我之前写的帖子,在这里 
2、倒计时结束以后的函数,以及每隔多少秒执行的函数都不会执行,只有在重新进来之后才会执行。

wxTimer

介绍:用于在微信小程序中进行倒计时的组件。 
功能
1、最基础的当然就是倒计时功能了。 
2、可以设置倒计时结束后执行的事件。 
3、可以设置倒计时执行过程中每隔多少秒,执行一次对应的事件。

用法 
引入:

var timer = require('../../plugins/wxTimer.js');

最简单的调用方式:

var wxTimer = new timer({

  beginTime:"00:00:10"

})

wxTimer.start(this);

wxTimer.stop();

倒计时结束后执行事件:

var wxTimer = new timer({

    beginTime:"00:00:10",

    complete:function(){

        console.log("完成了")

    }

})

wxTimer.start(this);

wxTimer.stop();

间隔执行事件:

var wxTimer = new timer({

    beginTime:"00:00:10",

    complete:function(){

        console.log("完成了")

    },

    interval:2,

    intervalFn:function(){

        console.log("过去了2秒");

    }

})

校准时间:

wxTimer.calibration();

注意: 
1、由于内部需要调用到小程序的setData方法,所以我们需要把this传过去。 
2、此方法会在page中生成一个名为wxTimer和wxTimerSecond的data,分别是倒计时的 时/分/秒 版本和倒计时的纯秒数版本,如果需要在wxml中引用倒计时的数据直接{{wxTimer}}或者{{wxTimerSecond}}即可

其他参数: 
1、beginTime 需要倒计时的时间,比如:"01:11:12",默认值为"00:00:00",也可以省略秒数,如:"01:10" 
2、complete 倒计时归零0时的回调函数,如果为beginTime = "00:00:00"则立即调用 
3、interval 倒计时的过程中,规定每隔几秒执行一次intervalFn,如果为0则永远不会执行,默认为1 
4、intervalFn 每隔interval秒执行一次的函数。

历史更新 

2017.03.22 应对在息屏和挂起状态下倒计时无法进行的问题,加入了校准功能,可以在onShow()函数中直接调用wxTimer.calibration()来校准时间。

© 著作权归作者所有

共有 人打赏支持
第九程序
粉丝 84
博文 142
码字总数 172691
作品 0
厦门
程序员
前端资源系列(3)-微信小程序开发资源汇总

微信(小程序or应用号)开发资源汇总-文档-工具-教程-代码-插件-组件 文档 从搭建一个微信小程序开始 小程序开发文档 小程序设计指南 工具 小程序开发者工具 - 官方 Egret Wing 3.2.x 支持微信...

xzavier
08/27
0
0
微信小程序开发框架从入门到放弃

用框架是不可能用框架的,这辈子都不可能用框架。 微信小程序上手成本低,开发成本低,流量红利,推广成本低等等,很多公司的创业项目都会首选小程序来试水,小程序开发太火爆了,苦逼了前端工...

Runner羊
07/24
0
0
掘金开发者大会 ∙ 微信小程序专场 | 一场汇聚了微信小程序日活前十名半数的开发者大会,邀您参加!

掘金开发者大会 ∙ 微信小程序专场 一场迟来的聚会 自2017年1月微信小程序正式上线以来,应用数与开发者数持续增长,目前已经有超过100万个微信小程序发布且相关开发者也超过了150万。同样,...

稀土君
08/06
0
0
掘金开发者大会 ∙ 微信小程序专场正式启动

一场迟来的聚会 自2017年1月微信小程序正式上线以来,应用数与开发者数持续增长,目前已经有超过100万个微信小程序发布且相关开发者也超过了150万。同样,我们也可以通过掘金的数据看到 2017...

掘金官方
08/07
0
0
亲身体验小程序wepy和mpvue框架的区别

前言 小编公司也随潮流,把现有h5项目,重做成小程序项目,前期是用wepy搭建的,开始感觉还不错,随着加入的功能越来越多,感觉性能也越来越成问题。下面我们来详细介绍。开发文档 原生开发小...

向建峰_Javan
08/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

django rest framework 外键序列化方法与问题总结

django rest framework 外键序列化方法与问题总结 当借口中需要出现一对多关系的时候,我们可以用rest_framwork的序列化功能来处理,代码如下. # models.pyfrom django.db import modelscl...

_Change_
昨天
0
0
SingleNumber136 leetCode

Given a non-empty array of integers, every element appears twice except for one. Find that single one. Note: Your algorithm should have a linear runtime complexity. Could you im......

woshixin
昨天
1
0
String ,  StringBuffer ,  StringBuilder的区别

String , StringBuffer , StringBuilder的区别 String 首先,String 是用来表示一个字符串常量的,它是一个不可变对象,意味着,一旦我们创建了某个字符串之后,就不能再改变它的值了,我们可...

tsmyk0715
昨天
2
0
区块链100讲:UTXO 和 Account 模型对比

在当前区块链世界中,主要有两种记录保存方式,UTXO 模式(Unspent Transaction Output) 和 Account 模式。Bitcoin 采用的是 UTXO 模型,Ethereum 采用的 Account 模型,同样 CITA 也采用了 ...

HiBlock
昨天
1
0
Vue中路由管理器Vue Router使用介绍(三)

一、路由定义添加动态参数定义 1.路由定义项,使用:xx 方式 定义动态参数 { path:'/user/:id/:name', name:'user', component:()=>import('./views/User.vue') ...

tianma3798
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部