Всем доброго времени суток! Никогда не задавал вопросов на форумах (зачем зря напрягать людей), всегда гуглил и думал сам, но сейчас не смог ничего нагуглить по своей проблеме. У меня почему-то (во всех браузерах) не всегда срабатывает событие onclick при работающем таймере (есть функция, которая вызывает себя же через setTimeout). Вот фрагмент кода:
function ImgRotate(Img, ImgHeight)
{
ImgElem = document.getElementById(Img);
ImgStartHeight = ImgElem.height;
if ((ImgStartHeight == ImgHeight) && (! ImgElem.f)) ImgRotateTimer(Img, ImgStartHeight, -2);
}
function ImgRotateTimer(Img, ImgStartHeight, Delta)
{
ImgElem = document.getElementById(Img);
ImgElemStyle = ImgElem.style;
ImgElemHeight = ImgElem.height;
if (ImgElemHeight + Delta < 0) NextVal = 0;
else if (ImgElemHeight + Delta > ImgStartHeight) NextVal = ImgStartHeight;
else NextVal = ImgElemHeight + Delta;
ImgElem.height = NextVal;
ImgElemStyle.marginTop = Math.round((ImgStartHeight - NextVal) / 2) + 'px';
if (NextVal == 0) Delta = -Delta;
if (NextVal != ImgStartHeight)
setTimeout('ImgRotateTimer("' + Img + '", ' + ImgStartHeight + ', ' + Delta + ')', 15 / SpeedCoef);
}
function ImgOut(Img)
{
ImgElem = document.getElementById(Img);
ImgElem.f = '1';
setTimeout('document.getElementById("' + Img + '").f = ""', 100);
}
<a style = "display: block; width: 100px; height: 24px" href = "poetry.php" onmouseover = "ImgRotate('img_catalog', 24)" onmouseout = "ImgOut('img_catalog')">
<img src = "catalog.png" border = 0 width = 100 align = "top" id = "img_catalog">
</a>
Заранее большое спасибо.