$.loop()
Syntax
Parameters
- paintCallback
- a callback
function(timestamp, stopFunc)that will be invoked repeatedly to prepare a frame. Parameters given to callback:- timestamp
- The number of miliseconds since the animation's start (possibly as high-precision double, if the browser supports this).
- stop
- Call this
function()to stop the currently running animation.
- (return value)
- a
function()that stops the currently running animation. This is the same function that is also given to the callback.
Description
Runs an animation loop. The given callback method will be invoked repeatedly to create a new animation frame. In modern browsers, requestAnimationFrame will be used to invoke the callback every time the browser is ready for a new animation frame. The exact frequency is determined by the browser and may vary depending on factors such as the time needed to render the current page, the screen's framerate and whether the page is currently visible to the user. In older browsers the callback function will be invoked approximately every 33 milliseconds.
An animation loop runs indefinitely. To stop it, you have two options:
- Invoke the stop() function that $.loop() that will return.
- The animation callback receives the same stop() function as second argument, so the callback can end the animation itself.
Example
Animates a div by moving along in a circle.
var myDiv = $$('#myAnimatedDiv');
var rotationsPerMs = 1000; // one rotation per second
var radius = 100;
var d = 3000; // duration in ms
$.loop(function(t, stopFunc) {
var a = 2 * Math.PI * Math.min(t, d) / rotationsPerMs; // angular position
myDiv.style.left = (radius * Math.cos(a) + ' px';
myDiv.style.top = (radius * Math.sin(a) + ' px';
if (t > d) // time is up: call stopFunc()!
stopFunc();
});
See also..
animate()for simple, property-based animations.
Comments
comments powered by DisqusFunctions
- $() Web
- list.length Web, Util
- $$() Web
- $.getCookie()
- $.loop() Web
- $.off() Web
- $.parseJSON() Web
- $.ready() Web
- $.request() Web
- $.setCookie()
- $.toJSON() Web
- $.wait()
- .add() Web
- .addAfter() Web
- .addBefore() Web
- .addFront() Web
- .animate() Web
- .array() Util
- .call() Util
- .clone() Web
- .collect() Web, Util
- .contains() Util
- .dial() Web
- .each() Web, Util
- .endsWith() Util
- .equals() Util
- .fill() Web
- .filter() Web, Util
- .find() Web, Util
- .findLast() Web, Util
- .get() Web
- .hide() Web
- .ht()
- .intersection() Util
- .is() Web
- .join() Util
- .map() Util
- .merge() Util
- .next() Web
- .not() Web
- .offset()
- .on() Web
- .onChange() Web
- .onClick() Web
- .onFocus() Web
- .onOver() Web
- .only()
- .per() Util
- .reduce() Util
- .remove() Web
- .replace() Web
- .reverse() Util
- .select() Web
- .set() Web
- .show() Web
- .sort() Util
- .startsWith() Util
- .sub() Web, Util
- .text() Web
- .toObject() Util
- .toggle() Web
- .trav() Web
- .trigger() Web
- .uniq() Util
- .unite() Util
- .up() Web
- .values() Web
- EE() Web
- HTML() Web
- M Web, Util
- MINI.getter Web
- MINI.setter Web
- Minified Lists Web, Util
- Promise Web, Util
- _() Util
- _.bind() Util
- _.copyObj() Util
- _.dateAdd() Util
- _.dateClone() Util
- _.dateDiff() Util
- _.dateMidnight() Util
- _.eachObj() Util
- _.escapeHtml() Util
- _.escapeRegExp() Util
- _.extend() Util
- _.filterObj() Util
- _.format() Util
- _.formatHtml() Util
- _.formatValue() Util
- _.isBool() Util
- _.isDate() Util
- _.isEmpty() Util
- _.isFunction() Util
- _.isList() Util
- _.isNumber() Util
- _.isObject() Util
- _.isString() Util
- _.isValue() Util
- _.keys() Util
- _.mapObj() Util
- _.pad() Util
- _.parseDate() Util
- _.parseNumber() Util
- _.partial() Util
- _.promise()
- _.range()
- _.template() Util
- _.toString() Util
- _.trim() Util
- _.values() Util
- define() Web, Util
- promise.always()
- promise.error() Web, Util
- promise.fire()
- promise.stop()
- promise.then() Web
- require() Web, Util
- How to...