Показать сообщение отдельно
  #7 (permalink)  
Старый 09.02.2009, 21:30
Аспирант
Отправить личное сообщение для Destrifer Посмотреть профиль Найти все сообщения от Destrifer
 
Регистрация: 29.11.2008
Сообщений: 64

Андрей Параничев,
Вообщем да, пример можно адаптировать, без проблем. Вопрос лишь, можно ли решить мою задачу в данном контексте (моего кода)?
Все просто:
function my3(){
if(z <= -s){clearTimeout(a);return;}
z -= 1;
a=setTimeout('my3()',20);
document.getElementById("menu").style.top = z + 'px';
}

function my4(){
if(z >= 30){clearTimeout(b);return;}
z += 1;
b=setTimeout('my4()',20);
document.getElementById("menu").style.top = z + 'px';
}

Одна функция двигает меню вверх (my3), другая вниз (my4). Высота меню выше высоты страницы, поэтому она вычисляется (s), и как только z достигает порогового значения, меню останавливается. Проблема в том, что при большом шаге (z), когда происходит сранение z и s, меню может передвинутся несколько дальше, чем требуется (z перескакивает через пороговое значение s). Если уменьшить z, проблема исчезает, но скорость перемещения меню становится крайне мала. А дальнейшее уменьшение значения setTimeout, не помогает или исчезает плавность анимации.
p.s. извините, если не понятно описал, как смог . Вообщем проблема-то не вселенского характера. Перепешу код и дело с концом. Просто хотел добраться до истины .
Ответить с цитированием