Есть вот таких 2 функции для изменения прозрачности изображения.
Сделал с помощью них навигацию и обнаружил, что функция SmoothHide, если резко перевезти курсор на другой пункт меню, не успевает сделать элемент прозрачным, как был до наведения.
Как я понял при наведении на другой элемент, objId меняется и выполнение функции со старым objId прерывается. У кого-нибудь есть идеи как сделать?
var hT, sT;
flag=1
function SmoothShow(objId, x)
{
var obj = document.getElementById(objId);
op = (obj.style.opacity)?parseFloat(obj.style.opacity):parseInt(obj.style.filter)/100;
if(op < x)
{
clearTimeout(hT);
op += 0.1;
obj.style.opacity = op;
obj.style.filter='alpha(opacity='+op*100+')';
sT=setTimeout('SmoothShow(\''+objId+'\', '+x+')',50);
}
}
function SmoothHide(objId, x)
{
var obj = document.getElementById(objId);
op = (obj.style.opacity)?parseFloat(obj.style.opacity):parseInt(obj.style.filter)/100;
if(op > x)
{
clearTimeout(sT);
op -= 0.1;
obj.style.opacity = op;
obj.style.filter='alpha(opacity='+op*100+')';
hT=setTimeout('SmoothHide(\''+objId+'\', '+x+')',50);
}
}