Здравствуйте.
Такой вопрос, есть на странице куча картинок. Все изначально имеют прозрачность 0.7. при наведении вызывается функция increaseOpacity, а при убирании мышки decreaseOpacity.
var t, t2, op;
function increaseOpacity(elem, x) {
op = (elem.style.opacity) ? parseFloat(elem.style.opacity) : parseInt(elem.style.filter) / 100;
if (op < x) {
clearTimeout(t2);
op += 0.05;
elem.style.opacity = op;
elem.style.filter='alpha(opacity='+op * 100+')';
t = setTimeout(function() { increaseOpacity(elem, x); }, 20);
}
}
function decreaseOpacity(elem, x) {
op = (elem.style.opacity) ? parseFloat(elem.style.opacity) : parseInt(elem.style.filter) / 100;
if (op > x) {
clearTimeout(t);
op -= 0.05;
elem.style.opacity = op;
elem.style.filter='alpha(opacity='+op * 100+')';
t2 = setTimeout(function() { decreaseOpacity(elem, x); }, 0);
}
}
проблема в том что t и t2 в единственном экземпляре и при быстром проведении мышки по картинкам функции не успевают выполнится и прозрачность остается на неправильном уровне. что с этим делать?
заранее спасибо.