使用 tictac.js 实现倒计时
2014-06-27 · 1,083 chars · 6 min read
Tictac.js(GitHub,Demo)是应项目需要写的一个倒计时组件,比较简洁(或者说简单),主要功能是:
- “当前时间”可配置,可以使用服务端时间
- 可以设定一个时间间隔,周期性执行回调函数
- 注册任意多个“计时器”实例,每个计时器结束会触发回调函数
- 自定义倒计时的时间展示格式
先看看使用示例:
Tictac.init({
currentTime: Date.parse('2015/01/01 00:00:00'), //设置当前时间
interval: 3000, //执行callback的时间间隔
callback: function () {
//重复执行的回调
},
})
Tictac.create('id1', {
targetId: 'id1', //显示计时器的容器
expires: Date.parse('2050/01/01 00:00:00'), //目标时间
format: {
//格式化对象
days: '{d}天 ',
hours: '{hh}小时 ',
minutes: '{mm}分 ',
seconds: '{ss}秒',
},
timeout: function () {
//计时器 timeout 回调
},
})
//任意多个....
Tictac.create('idn', {
targetId: 'idn',
expires: Date.parse('2015/01/01 00:00:15'),
format: {
minutes: '{mm}分 ',
seconds: '{ss}秒',
},
timeout: function () {
//....
},
})
下面具体讲一下怎么用:
init#
初始化函数,注册计时器前必须先初始化。参数:
-
currentTime 当前时间(时间戳),可设置服务端时间或者直接
+new Date() -
interval 执行
callback的时间间隔\ -
callback 重复执行的回调函数
具体例子看上面的就好了。
create#
创建一个计时器,就像上面代码里写的那样,接受两个参数。第一个参数是 ID,一般用 string 或者 int 类型都可以,第二个参数是个对象,包含以下字段:
-
targetId 字符串,输出“剩余时间字符串”的容器 ID
-
expires 时间戳,计时器的目标时间(或者说是过期时间)
-
format 倒计时时间的格式化对象,这个下面单独说\
-
formatIgnore 配合 format 使用的,下面和 format 一起说讲\
-
timeout 超时函数,到达
expires指定的时间后触发
具体例子上面代码里也有。
reset#
重新设置计时器,参数与create 方法完全相同。例如:
Tictac.reset('id5', {
expires: 1403860277271,
})
remove#
根据 ID 删除一个计时器,例如:Tictac.remove('id1')
