Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: Tryapkonator от 09 Июня 2005, 10:45:04

Название: Двигать див
Отправлено: Tryapkonator от 09 Июня 2005, 10:45:04
Вечная проблема юзабилити и расположения основных сервисов =( Хочу сделать выезжающее как бы меню, панель. Т.е. есть див, кусок которого торчит на экране и надо чтобы он выехал (имеено выехал а не появился в другом месте) при наведении на него. Ну я с улыбкой написал что-то типа

for($i=0;$i<40;$i++){
document.getelementbyid(\'panel\').style.x=document.getelementbyid(\'panel\').style.x+1
}

и обломался. Чуть подумая понял что так нельзя, но тогда как? =( ничерта не понимаю. Не надо писать скрипт за меня, порсто объясните пожалуйсто как прибавлять пиксель например раз в сотую секунды элементу на странице? ничерта не понимаю. Соответственно, желательно чтобы скрипт работал во всех браузерах
Название: Двигать див
Отправлено: virka от 09 Июня 2005, 11:34:59
Попробуйте что-то типа этого:

function takayato(){
panel.style.left = xmove;
if(xmove<40)
{
xmove+=5;
timer1=setTimeout("takayato()",10);
}
}

xmove может быть как xmove=panel.style.left, так и просто глобальная document.xmove=-20 к примеру.
Похвальное нежелание.
Название: Двигать див
Отправлено: commander от 09 Июня 2005, 12:07:24
virka
Цитировать
Похвальное нежелание.

на вопросы тоже надо учиться отвечать!
Tryapkonator
вот тебе рабочий пример:


   movie














--------------------------------------------------------
смотрим, делаем нароботки, если что не понятно задаём вопросы.
Название: Двигать див
Отправлено: Tryapkonator от 09 Июня 2005, 19:08:50
Большое спасибо, сейчас времени нет, проверю ближе к вечеру, но уверен что разбирусь. Большое спасибо. Так же прошу пока не закрывать тему. Мало ли че еще всплывет когда тестить буду.
Название: Двигать див
Отправлено: Tryapkonator от 11 Июня 2005, 18:50:48
Фигня какая-то =0 Всмысле спасибо, таблица действительно двигается, все хорошо. Но как ее остановить блин? =))) Вот что у меня есть



movie






dasdasdas






Мой интерпритатор, встроенный в головной мозг говорит что по идее таблица не должна двигаться, если на ней не находится мышка. Т.е. в событии onmouseout я останавливаю таймер (если я правильно прочел ман), но таблица все равно двигается, пока не достигнет высоты в 200px =( не подскажете, как это поправить?
Название: Двигать див
Отправлено: virka от 11 Июня 2005, 21:06:17
У Вас переменная timer1 видима только внутри ф-ии timers(). Сделайте ее глобальной (раз) и не объявляйте ее внутри ф-ии timers() (т.е. timer1=setInterval("movediv();", 10), а не var timer1=setInterval("movediv();", 10);).
Название: Двигать див
Отправлено: virka от 11 Июня 2005, 21:09:09
Смайлик не мой, это ai шалит.
:)
Название: Двигать див
Отправлено: Tryapkonator от 11 Июня 2005, 21:11:24
Да, ступил =( вот ведь глупость та какая... пора мне поспать =( завтра проверю, хотя тут и проверять, думаю нечего =)