jQuery.fx.timer
JQuery中特效动画中运用到的定时方法,调用方式:jQuery.fx.timer(function)
通过jQuery.fn.extend添加
运行步骤:
1.运行jQuery.fx.timer(function) 传入的函数;
2.函数返回值!=false,压入函数队列Query.timers,之后调用jQuery.fx.start();
3.jQuery.fx.start函数中设置定时调用jQuery.fx.tick,setInterval(jQuery.fx.tick, jQuery.fx.interval);
4.jQuery.fx.tick函数中遍历函数队列JQuery.timers,将执行返回值=false的函数移出队列;
5.检查队列,假如队列为空调用jQuery.fx.stop()停止定时器;
jQuery.timers = []; jQuery.fx.tick = function () { var timer, timers = jQuery.timers, i = 0; fxNow = jQuery.now(); for (; i < timers.length; i++) { timer = timers[i]; // Checks the timer has not already been removed if (!timer() && timers[i] === timer) { timers.splice(i--, 1); } } if (!timers.length) { jQuery.fx.stop(); } fxNow = undefined; }; jQuery.fx.timer = function (timer) { if (timer() && jQuery.timers.push(timer)) { jQuery.fx.start(); } }; jQuery.fx.interval = 13; jQuery.fx.start = function () { if (!timerId) { timerId = setInterval(jQuery.fx.tick, jQuery.fx.interval); } }; jQuery.fx.stop = function () { clearInterval(timerId); timerId = null; };
posted on
浙公网安备 33010602011771号