Нужно добавить блокировку ссылки на время выполнения скрипта
Вот код:
В php-шке:
echo "<li><a onclick=\"tree('".$catid."', ".$sumid.")\">Категории</a><ul>";
....
do
{
printf ("<li id='%s' style='display: none;'><a class='nav_link_cat' href='/new/%s'>%s</li>", $catid.$myrowid["id"].$i, $myrow_id_new["id"], $myrow_id_new["title"]);
$i = $i+1;
}
while ($myrow_id_new = mysql_fetch_array($result_id_new));
printf ("</ul></li>");
js:
var tmpid,am,let,count;
function tree(letter, amount)
{
count=1;
am=amount;
let=letter;
show2();
}
function show2()
{
if(count<am)
{
tmpid = '' + let + count;
setTimeout('show(tmpid, 1)', 1);
count++;
}
else if(count==am)
{
tmpid = '' + let + count;
setTimeout('show(tmpid, 0)', 1);
}
}
function show(id, flag)
{
var el = document.getElementById(id);
el.style.display = (el.style.display == 'block')?'none':'block';
if(flag!=0) show2();
}
Просто тут такой баг: при нажатии на элемент списка-ссылку все нормально выводятся и закрываются все вложенные элементы, но если нажать на ссылку во время работы скрипта, то начинается перемишивание и половина из вложенного содержимого будет открыта, половина закрыта. Может как нить надо блокировать ссылку или просто что то обнулять, чтоб полностью был либо закрыт либо открыт список...Подскажите, пожалуйста.(если возможно приведите код)