📄 x_timer.js
字号:
// x_timer.js, part of X, a Cross-Browser.com Javascript Library
// Copyright (C) 2004,2005 Michael Foster - Distributed under the terms of the GNU LGPL - OSI Certified
// File Rev: 3
function xTimerMgr()
{
this.timers = new Array();
}
// xTimerMgr Methods
xTimerMgr.prototype.set = function(type, obj, sMethod, uTime, data) // type: 'interval' or 'timeout'
{
return (this.timers[this.timers.length] = new xTimerObj(type, obj, sMethod, uTime, data));
};
xTimerMgr.prototype.run = function()
{
var i, t, d = new Date(), now = d.getTime();
for (i = 0; i < this.timers.length; ++i) {
t = this.timers[i];
if (t && t.running) {
t.elapsed = now - t.time0;
if (t.elapsed >= t.preset) { // timer event on t
t.obj[t.mthd](t); // pass listener this xTimerObj
if (t.type.charAt(0) == 'i') { t.time0 = now; }
else { t.stop(); }
}
}
}
};
// Object Prototype used only by xTimerMgr
function xTimerObj(type, obj, mthd, preset, data)
{
// Public Properties
this.data = data;
// Read-only Properties
this.type = type; // 'interval' or 'timeout'
this.obj = obj;
this.mthd = mthd; // string
this.preset = preset;
this.reset();
} // end xTimerObj constructor
// xTimerObj Methods
xTimerObj.prototype.stop = function() { this.running = false; };
xTimerObj.prototype.start = function() { this.running = true; }; // continue after a stop
xTimerObj.prototype.reset = function()
{
var d = new Date();
this.time0 = d.getTime();
this.elapsed = 0;
this.running = true;
};
var xTimer = new xTimerMgr(); // applications assume global name is 'xTimer'
setInterval('xTimer.run()', 250);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -