JQueryTimer
取代原生 js 计时器,封装了 setInterval 和 setTimeout。标记通过 Data 的方式缓存在 jQuery 元素上。
Install / Use
/learn @wwh447/JQueryTimerREADME
jQuery Timer
- 新版修复了旧版的历史遗留问题,并且增加了更强大的功能,配置设计也更灵活。强烈建议升级到新版,旧版不再继续维护。
- 欢迎检查新版 DEMO,以及贡献代码。
什么是 jQuery Timer
- 为 jQuery 量身定制的计时器,取代 js 原生的 setTimeout 和 setInterval 函数,管理更简单。
- 兼容所有主流PC和移动浏览器,并且完美支持 jQuery 2.x
- 可以使用在简单倒计时、幻灯片程序、事件执行频率控制、以及所有需要计时器完成的地方
目录
特性
- 结合最新的 jQuery,血统优良
- 只需记忆一个API,使用简单便捷
- 为 jQuery 量身定制,元素调用计时器更加便捷
- 实例丰富,学习成本低,源码中文注释
- 方法灵活全面,能够应付大部分计时器使用场景
- 生产版大小仅有2KB,容易集成到更复杂的插件中
下载
- jquery-timer-2.js (开发版,7.8kb)
- jquery-timer-2-min.js (生产版,2.1kb)
快速上手
放置一个两秒计时器:
//两秒后弹出对话框.
$("body").timer(function() {
alert("Hello jQuery Timer!");
});
放置一个三秒计时器:
//三秒后搜索页面中的 a 标签,弹出数量.
$("body").timer(function() {
alert( $(this).find("a").length );
}, 3);
放置一个两秒计时器,并且指定迭代次数为三次:
//每两秒控制台输出一下系统时间戳.
$("a").timer(function() {
console.log( Date.now() );
}, 2, 3);
放置一个两秒计时器,并且指定迭代次数为三次,完成时弹出提示:
//每两秒控制台输出一下当前迭代进度.
$("a").timer(function(i, count) {
console.log( "计时进度: " + i + "/" + count );
}, 2, 3, function() {
alert("计时已完成");
});
所有示例
- 开始计时器
- 指定计时器的时间间隔
- 指定计时器的循环次数
- 让计时器立即开始执行
- 设置计时器完成时的回调函数
- 用JSON的参数形式来配置计时器
- 放置未激活的计时器,以及手动激活计时器
- 计时器暂停和继续以及停止示例
- 计时器应用 - 倒计时程序
- 计时器应用 - 经典打字效果
备注:DEMO中默认使用 jQuery 2.x,可以换做 1.9+ 来兼容IE
参数说明
timer 方法接收的可选参数,依照参数顺序列举。 可以按照顺序给出可选参数,也可以传入JSON格式配置指定参数。
参数 | 类型 | 默认值 | 说明 ------------ | ------------ | ------------ | ------------ iteration | Function | 空函数 | 计时器执行的迭代函数,接受两个可选参数。第一个标识当前回调执行的次数,第二个参数标识迭代的目标次数 duration | Number | 2 | 计时器迭代时间间隔,时间单位是秒,默认为2秒 count | Number | 1 | 计时器迭代目标次数。如果设置为 -1 或 0 则无限迭代,直到被设为停止。 quick | Boolean | false | 是否设置计时器后,就立即先执行一次. 如果设置 true ,计时器放置后就率先执行一次,而不必等待第一次计时结束 callback | Function | 空函数 | 计时器走完计时后的回调函数, 所有迭代完成后执行. 无限循环退出时自动执行,或者配置为手动触发。 i | Number | 0 | 计时器索引的起始值,记录计时器已执行的次数。未设置则从 0 开始计数. actived | Boolean | true | 处于激活状态的计时器才会工作,否则被手动激活后才开始工作.
更新日志
v2.0.0 beta
- 构建了新的API方法,无需记忆多个API。只需一个API方法即可实现计时器的放置、暂停、继续、停止。
- 计时器实现指定次数迭代:单次、指定次数、无限次数
- 计时器添加可立即执行的配置,设置后计时器放置完就率先执行一次
- 实现计时器的完成回调函数,所有迭代完成后执行。无限循环退出时自动执行,或者配置为手动触发。
- 实现计时器可以暂停和继续上一次未完成的工作,接着跑完
- 实现计时器可放置未激活的计时器,之后手动激活再运行
v1.0.1 beta
- 优化代码提升性能
v1.0.0 beta
- 创建项目初始代码
- 发布说明和示例
Related Skills
node-connect
352.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
352.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
352.5kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
