基于JQuery.timer插件实现一个计时器


Posted in Javascript onApril 25, 2010

先去官网下载jQuery Timers插件 ,然后引用到html中。这里是1.2 version

<script src="../Javascripts/Plugins/jquery.timers-1.2.js" type="text/javascript"></script>

然后是HTML,我们可以放一个hidden 的server control存值用,当然这个随你了。

<asp:HiddenField ID="hicurrenttime" runat="server" /> 
<h1> 
jQuery Timers Test</h1> 
<input type="button" id="btnmaster" value="StartTimer" /> 
<h2> 
Demos</h2> 
<div class="demos"> 
<span id="durationtimerspan"></span> 
<br /> 
<input id="txtresult" type="text" /> 
</div>

加上JS:
[/code]
$(document).ready(function() {
var countnum = <%=hicurrenttime.Value %>;
$('#btnmaster').toggle(
function() {
$(this).val('StopTimer');
$('#durationtimerspan').everyTime(1000, 'testtimer', function(i) {
countnum = countnum + 1;
$(this).html('Duration: ' + countnum);
$('#<%=hicurrenttime.ClientID %>').val(countnum);
});
},
function() {
$(this).val('StartTimer');
$('#durationtimerspan').stopTime('testtimer');
$('#txtresult').val(countnum);
});
});
[html]
上面的代码关键的地方是我们用toggle函数,去实现点击Button开关计时器。这个插件有三个方法:
everyTime(interval : Integer | String, [label = interval : String], fn : Function, [times = 0 : Integer])
每次都执行
oneTime(interval : Integer | String, [label = interval : String], fn : Function)
执行一次
stopTime([label : Integer | String], [fn : Function])
停止
最后我们效果如下图: 
基于JQuery.timer插件实现一个计时器 
类似的用法:

//每1秒执行函式test() 
function test(){ 
//do something... 
} 
$('body').everyTime('1s',test); 
//每1秒执行 
$('body').everyTime('1s',function(){ 
//do something... 
}); 
//每1秒执行,并命名计时器名称为A 
$('body').everyTime('1s','A',function(){ 
//do something... 
}); 
//每20秒执行,最多5次,并命名计时器名称为B 
$('body').everyTime('2das','B',function(){ 
//do something... 
},5); 
//每20秒执行,无限次,并命名计时器名称为C 
//若时间间隔抵到,但函式程序仍未完成则需等待执行函式完成后再继续计时 
$('body').everyTime('2das','C',function(){ 
//执行一个会超过20秒以上的程式 
},0,true); 
/*********************************************************** 
* oneTime(时间间隔, [计时器名称], 呼叫的函式) 
***********************************************************/ 
//倒数10秒后执行 
$('body').oneTime('1das',function(){ 
//do something... 
}); 
//倒数100秒后执行,并命名计时器名称为D 
$('body').oneTime('1hs','D',function(){ 
//do something... 
}); 
/************************************************************ 
* stopTime ([计时器名称], [函式名称]) 
************************************************************/ 
//停止所有的在$('body')上计时器 
$('body').stopTime (); 
//停止$('body')上名称为A的计时器 
$('body').stopTime ('A'); 
//停止$('body')上所有呼叫test()的计时器 
$('body').stopTime (test);

希望这篇POST对您有帮助。Author: Petter Liu
Javascript 相关文章推荐
firefox中用javascript实现鼠标位置的定位
Jun 17 Javascript
js循环改变div颜色具体方法
Jun 25 Javascript
php的文件上传入门教程(实例讲解)
Apr 10 Javascript
JavaScript动态添加列的方法
Mar 25 Javascript
jquery简单的弹出层浮动层代码
Apr 27 Javascript
Jquery实现遮罩层的方法
Jun 08 Javascript
基于zepto.js简单实现上传图片
Jun 21 Javascript
jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
Dec 22 Javascript
BootStrap栅格系统、表单样式与按钮样式源码解析
Jan 20 Javascript
AngularJS集合数据遍历显示的实例
Dec 27 Javascript
vue指令只能输入正数并且只能输入一个小数点的方法
Jun 08 Javascript
浅谈实现在线预览PDF的几种解决办法
Aug 10 Javascript
jquery+ashx无刷新GridView数据显示插件(实现分页、排序、过滤功能)
Apr 25 #Javascript
一个简单的jQuery插件制作 学习过程及实例
Apr 25 #Javascript
Javascript中的相等与不等运算
Apr 25 #Javascript
下载网站打开页面后间隔多少时间才显示下载链接地址的代码
Apr 25 #Javascript
jQuery 打造动态渐变按钮 详细图文教程
Apr 25 #Javascript
javascript之学会吝啬 精简代码
Apr 25 #Javascript
一些相见恨晚的 JavaScript 技巧
Apr 25 #Javascript
You might like
用在PHP里的JS打印函数
2006/10/09 PHP
PHP spl_autoload_register实现自动加载研究
2011/12/06 PHP
PHP实现获取某个月份周次信息的方法
2015/08/11 PHP
全面解析PHP操作Memcache基本函数
2016/07/14 PHP
PHP rmdir()函数的用法总结
2019/07/02 PHP
JavaScript 的继承
2011/10/01 Javascript
JS获取页面input控件中所有text控件并追加样式属性
2013/02/25 Javascript
小议JavaScript中Generator和Iterator的使用
2015/07/29 Javascript
Javascript连接Access数据库完整实例
2015/08/03 Javascript
jQuery解析Json实例详解
2015/11/24 Javascript
Extjs 点击复选框在表格中增加相关信息行
2016/07/12 Javascript
关于在mongoose中填充外键的方法详解
2017/08/14 Javascript
JS实现的找零张数最小问题示例
2017/11/28 Javascript
移动端如何用下拉刷新的方式实现上拉加载
2018/12/10 Javascript
js实现数字滚动特效
2019/12/16 Javascript
JavaScript字符和ASCII实现互相转换
2020/06/03 Javascript
如何利用vue实现波谱拟合详解
2020/11/05 Javascript
python连接mysql并提交mysql事务示例
2014/03/05 Python
Python查找函数f(x)=0根的解决方法
2015/05/07 Python
为Python的Tornado框架配置使用Jinja2模板引擎的方法
2016/06/30 Python
Python判断变量是否为Json格式的字符串示例
2017/05/03 Python
Python程序员面试题 你必须提前准备!
2018/01/16 Python
Python3 导入上级目录中的模块实例
2019/02/16 Python
pyqt5实现登录界面的模板
2020/05/30 Python
Python代码实现删除一个list里面重复元素的方法
2019/04/02 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
Python打印不合法的文件名
2020/07/31 Python
Python数据库封装实现代码示例解析
2020/09/05 Python
贝玲妃英国官网:Benefit英国
2018/02/03 全球购物
全球最大的瓷器、水晶和银器零售商:Replacements
2020/06/15 全球购物
Puccini乌克兰:购买行李箱、女士手袋网上商店
2020/08/06 全球购物
英语自我介绍演讲稿
2014/09/01 职场文书
党支部反对四风思想汇报
2014/10/10 职场文书
vue router 动态路由清除方式
2022/05/25 Vue.js
Python使用pandas导入csv文件内容的示例代码
2022/12/24 Python