fade : function(obj,timer,ftype,cur,fn) {
if (this.stack == undefined) {this.stack = [];}
obj = typeof obj == 'string' ? $(obj) : obj;
if (!obj) return false; for (var i=0;i<this.stack.length;i++) {
if (this.stack[i] == obj && (cur == 0 || cur == 100)) return false;
}
if (cur == 0 || cur == 100) {this.stack.push(obj);} ftype = ftype != 'in' && ftype != 'out' ? 'out' : ftype;
timer = timer || 400;
var step = 100/(timer/20);
obj.style.filter = 'Alpha(opacity=' + cur + ')';
obj.style.opacity = cur / 100;
cur = ftype == 'in' ? cur + step : cur - step ;
var fadeTimer = (function(){
return setTimeout(function () {
Util.fade(obj, timer, ftype, cur, fn);
}, 20);
})();
this[ftype == 'in' ? 'show' : 'hide'](obj);
if(ftype == 'in' && cur >= 100 || ftype == 'out' && cur <= 0) {
clearTimeout(fadeTimer);
for (i=0;i<this.stack.length;i++) {
if (this.stack[i] == obj ) {
this.stack.splice(i,1); break;
}
} fn = fn || function(){};
fn(obj);
}
return obj;
},
fadeIn : function (obj,timer,fn) {
return this.fade(obj, timer, 'in', 0, fn);
},
if (this.stack == undefined) {this.stack = [];}
obj = typeof obj == 'string' ? $(obj) : obj;
if (!obj) return false; for (var i=0;i<this.stack.length;i++) {
if (this.stack[i] == obj && (cur == 0 || cur == 100)) return false;
}
if (cur == 0 || cur == 100) {this.stack.push(obj);} ftype = ftype != 'in' && ftype != 'out' ? 'out' : ftype;
timer = timer || 400;
var step = 100/(timer/20);
obj.style.filter = 'Alpha(opacity=' + cur + ')';
obj.style.opacity = cur / 100;
cur = ftype == 'in' ? cur + step : cur - step ;
var fadeTimer = (function(){
return setTimeout(function () {
Util.fade(obj, timer, ftype, cur, fn);
}, 20);
})();
this[ftype == 'in' ? 'show' : 'hide'](obj);
if(ftype == 'in' && cur >= 100 || ftype == 'out' && cur <= 0) {
clearTimeout(fadeTimer);
for (i=0;i<this.stack.length;i++) {
if (this.stack[i] == obj ) {
this.stack.splice(i,1); break;
}
} fn = fn || function(){};
fn(obj);
}
return obj;
},
fadeIn : function (obj,timer,fn) {
return this.fade(obj, timer, 'in', 0, fn);
},
this.fade(obj, timer, 'in', 0, fn);//obj是对象,timer是时间间隔,in是显示(out是隐藏),0不太清楚,fn是逐渐显示完成后的回调函数