доброго времени суток уважаемые коллеги, нуждаюсь в помощи!
вобщем делаю менюшку с движущимися тайтлами в разделах при наведении на них.
вот код функций:
function over(id)
{
timers = setInterval("move_right("+id+")", 5);
}
function out(id)
{
timers = setInterval("move_left("+id+")", 5);
}
function move_right(id)
{
t = parseInt(document.getElementById('title_'+id).style.paddingLeft, 10);
document.getElementById('title_'+id).style.paddingLeft = (t+2)+'px';
if(t > 20) { clearInterval(timers); timers = null; }
}
function move_left(id)
{
t = parseInt(document.getElementById('title_'+id).style.paddingLeft, 10);
document.getElementById('title_'+id).style.paddingLeft = (t-2)+'px';
if(t < 4) { clearInterval(timers); timers = null; }
}
и пэхэпэ:
for($i=0; $i<10; $i++)
{
echo "<div id='menu_".$i."' style='width:100px; margin-top:2px; background:#ccc' onmouseover='over(".$i.")' onmouseout='out(".$i.")'>
<div id='title_".$i."' style='padding-left:0px'>Title_".$i."</div>
</div>";
}
если на один раздел меню наводится, то всё прекрасно двигается, а если с одного раздела на другой передвинуть мышкой, запускается цикличная ошибка. я понимаю что дело в том, что новый элемент меню начинает пользовать те же функции, что и предыдущий, у которого ещё таймер не закончился и счётчики сбиваются. Но как же решить задачу, не 40 же функций делать (по 4 на каждый элемент меню)?
уже пару часов туплю, в 4 утра гениальные решения отказываются посещать мою голову, вот и прошу хелпу