123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- define("dojox/timing/_base", ["dojo/_base/kernel", "dojo/_base/lang"], function(dojo){
- dojo.experimental("dojox.timing");
- dojo.getObject("timing", true, dojox);
- dojox.timing.Timer = function(/*int*/ interval){
- // summary: Timer object executes an "onTick()" method repeatedly at a specified interval.
- // repeatedly at a given interval.
- // interval: Interval between function calls, in milliseconds.
- this.timer = null;
- this.isRunning = false;
- this.interval = interval;
- this.onStart = null;
- this.onStop = null;
- };
- dojo.extend(dojox.timing.Timer, {
- onTick: function(){
- // summary: Method called every time the interval passes. Override to do something useful.
- },
-
- setInterval: function(interval){
- // summary: Reset the interval of a timer, whether running or not.
- // interval: New interval, in milliseconds.
- if (this.isRunning){
- window.clearInterval(this.timer);
- }
- this.interval = interval;
- if (this.isRunning){
- this.timer = window.setInterval(dojo.hitch(this, "onTick"), this.interval);
- }
- },
-
- start: function(){
- // summary: Start the timer ticking.
- // description: Calls the "onStart()" handler, if defined.
- // Note that the onTick() function is not called right away,
- // only after first interval passes.
- if (typeof this.onStart == "function"){
- this.onStart();
- }
- this.isRunning = true;
- this.timer = window.setInterval(dojo.hitch(this, "onTick"), this.interval);
- },
-
- stop: function(){
- // summary: Stop the timer.
- // description: Calls the "onStop()" handler, if defined.
- if (typeof this.onStop == "function"){
- this.onStop();
- }
- this.isRunning = false;
- window.clearInterval(this.timer);
- }
- });
- return dojox.timing;
- });
|