快速业务通道

MooTools教程(14):定时器和Hash对象

作者 佚名技术 来源 网页制作 浏览 发布时间 2012-03-07
  1. // 我们传递那个我们使用了定时器函数的定时器变量
  2. $clear(periodicalFunctionVar);

代码示例

为把这所有的连贯起来,我们就用我们目前学过的一些东西(也有一些是没有学过的)来创建一个定时器。首先,建立一个定时器的HTML页面,我们还需要一个开始按钮,一个停止按钮,还有一个重置按钮。另外,我们还要创建一个条形块,它可以随着时间慢慢变长。最后,我们还需要一个地方来显示当前已经运行的时间。

参考代码: [复制代码] [保存代码]
  1. <button id="timer_start">start</button>
  2. <button id="timer_stop">pause</button>
  3. <button id="timer_reset">reset</button>
  4.  
  5. <div id="timper_bar_wrap">
  6.     <div id="timer_bar"> </div>
  7. </div>
  8.  
  9.  
  10. <div id="timer_display">0</div>

现在该是MooTools的代码了:

参考代码: [复制代码] [保存代码]
  1. var timerFunction = function(){
  2.     // 每次当这个函数被调用时
  3.     // 变量currentTime就会增加一
  4.     // 同时要注意一下"this.counter"的使用
  5.     // "this"是hash
  6.     // 而"counter"是key
  7.     var currentTime = this.counter++;
  8.     // 这里我们改变显示时间的div里面的内容
  9.     $(''timer_display'').set(''text'', currentTime);
  10.     // 这里改变样式表的width属性,可以轻松地创建一个时间进度条
  11.     $(''timer_bar'').setStyle(''width'', currentTime);
  12. }
  13.  
  14. window.addEvent(''domready''function() {
  15.     // 这是一个简单的hash对象
  16.     // 只有一个键值对(key/value pair)
  17.     var currentCounter = new Hash({counter: 0});
  18.     // 我们初始化我们的定时器并传入和绑定hash变量
  19.     var simpleTimer = timerFunction.periodical(100, currentCounter); 
  20.  
  21.     // 由于我们不想在onload的时候就启动定时器
  22.     // 因此我们在这里要停止这个定时器
  23.     $clear(simpleTimer);
  24.  
  25.     // 在开始按钮上添加一个事件
  26.     // 在这里再次启动这个定时器
  27.     $(''timer_start'').addEvent("click"function(){
  28.         simpleTimer = timerFunction.periodical(100, currentCounter);
  29.     });
  30.  
  31.     // 在这里清除定时器
  32.     // 并是时间条闪亮一下
  33.     $(''timer_stop'').addEvent("click"function(){
  34.         $clear(simpleTimer);
  35.         $(''timer_bar'').highlight(''#EFE02F'');
  36.     });
  37.  
  38.     $(''timer_reset'').addEvent("click"function(){
  39.         // 重置按钮首先清除这个定时器
  40.         $clear(simpleTimer);
  41.         // 然后把counter设为0
  42.         // 这个稍后再详细讲
  43.         currentCounter .set(''counter''0);
  44.         //
  45.         $(''timer_display'').set(''text'', currentCounter.counter);
  46.         $(''timer_bar'').setStyle(''width''0);
  47.     });
  48. });

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号