function fxFade( element, from, to, time, delta, callback ) {
delta = delta || function (x) {
return x;
};
var IE = document.all && !window.opera,
start = new Date().getTime();
if (IE) {
from *= 100,
to *= 100;
}
element.fadeTimer = setTimeout(function () {
var progress = (new Date().getTime() - start) / time,
result = (to - from) * delta(progress) + from;
if (IE) {
element.style.filter = "alpha(opacity=" + result + ")";
} else {
element.style.opacity = result;
}
if (progress < 1) {
element.fadeTimer = setTimeout(arguments.callee, 10);
} else {
callback && callback();
}
}, 10);
}
// 1 — начальное значение, 0 — конечное, 1000 — время
fxFade( document.getElementById("foo"), 1, 0, 1000 );