Here's a timer abstraction that I use. My most frequent gotcha with
setTimeout / setInterval is the scope of the function you pass in.
Here, the scope is always the timer object:
function Timer( fn, fd ) {
var self = this,
clock;
function update(){
self.frameCount++;
fn.call(self);
}
this.frameDuration = fd || 25 ;
this.frameCount = -1 ;
this.start = function(){
update();
clock = setInterval(update, this.frameDuration);
};
this.stop = function(){
clearInterval( clock );
clock = null;
};
}
Set it going with:
var thing = new Timer( function, frameDuration );
thing.start();
I'm not sure I see the need to include timers in the core, because the
plugin architecture is there for you to adapt jQuery specifically to
your project.
For an events-based way of animating (using the code above), check
out:
http://webdev.stephband.info/events/frame/
It allows you to start an animation timer simply by binding a 'frame'
event to something. The act of binding starts the timer, and the
bound function gets called on every frame.
--
You received this message because you are subscribed to the Google Groups
"jQuery Development" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/jquery-dev?hl=en.