Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Почему нет движения элемента? (https://javascript.ru/forum/dom-window/16735-pochemu-net-dvizheniya-ehlementa.html)

DZHETIGAPA 19.04.2011 23:12

Почему нет движения элемента?
 
Пытаюсь переместить элемент в блоке. Вот мой код:
var m=1;
var targ;
var dx=0;
function onclicker(e){
    m++;
    targ = e.currentTarget;
    targ.style.cssText="z-index:"+m;
    setInterval(deleteLayer,50);
    }
}
function deleteLayer(){
dx++;
targ.style.cssText="left:"+dx;
}

Почему не происходит какого-либо движения элемента?
ЗЫ: Элемент абсолютно позиционирован.

dmitriymar 19.04.2011 23:27

а причём z индекс к движению вообще?:stop:
а вообще -полный бред код

DZHETIGAPA 19.04.2011 23:28

это просто слой наверх кидает... меня интересует именно функция deleteLayer. Функция срабатывает, но почему-то хоть какого-нить движения не заметно.

dmitriymar 19.04.2011 23:30

а почему оно должно быть ?:-?

DZHETIGAPA 19.04.2011 23:34

Если думать логически, то функция запускается раз в 50 миллисекунд. Я увеличиваю значение dx и присваиваю его css атрибуту left. По логике вещей все должно работать.

Просто я на джаваскрипте в первые пишу, работал только в actionscript3.0.

Напишите пожалуйста, как правильно просто сдвинуть элемент влево-вправо?

dmitriymar 19.04.2011 23:36

конечно посоветую) посоветую начать с изучения основ javascript и css :yes:

DZHETIGAPA 19.04.2011 23:40

мда, парень. советчик из тебя никакой... ехидством только попахивает...

css+html знаю хорошо, верстал ни один сайт, просто с джаваскриптом не работал. Прочитал книжку по джаваскрипту, вот делаю выдвигающуюся менюшку.

Спасибо за совет... очень помог...

dmitriymar 19.04.2011 23:44

ну дак если помог-кинь + в карму))
я уже сказал-что весь код на помойку . и просмотреть темы форума-не один десяток примеров движения найдётся

DZHETIGAPA 19.04.2011 23:53

Цитата:

Сообщение от dmitriymar (Сообщение 101487)
ну дак если помог-кинь + в карму))

Для тебя только минус могу:)
Цитата:

Сообщение от dmitriymar (Сообщение 101487)
я уже сказал-что весь код на помойку

ЛУчше этот оставлю. Ты ж другой не предложил:)
Цитата:

. и просмотреть темы форума-не один десяток примеров движения найдётся
Я уже и на форумах лазил и книжку читал, там такой метод и описан.

И вообще, парень, зачем ты на этом форуме вообще нужен? Я задал не абстрактный вопрос, как мне сделать что-нибудь, а конкретно показал код и попросил найти ошибку.

И прочти внимательнее правило форума, а то почем зря тут сидишь.

Нашел одну ошибку, нужно 'px' добавить
targ.style.cssText="left:"+dx+'px';


Кто еще сможет помочь?

Magneto 19.04.2011 23:54

Надо выдвигать не текст, а блок в котором содержится текст.
Когда работаешь с CSS правилами и устанавливаешь блокам смещение, величину и прочее всегда надо добавлять единицы измерения (px, %, ...), например:
var a = 50;
element.style.marginLeft = a + 'px';

DZHETIGAPA 19.04.2011 23:59

так я блок и выдвигаю. Самое, что интеерсное, если я функкцию deleteLayer запихиваю непосредственно в слушатель события клика мыши, то по клику мыши происходит движение. Так почему тогда этого движения нет, когда вызывается функция через setInterval?

dmitriymar 20.04.2011 00:07

http://htmlbook.ru/search/?as_q=cssT...ie=UT F-8#917
эт так- к слову ...

DZHETIGAPA 20.04.2011 01:04

Парень, я думаю, что у меня ссылка на этот сайт появилась раньше, чем ты узнал про html и css

рони 20.04.2011 01:47

DZHETIGAPA,
что делает фигурная скобка в 10 строке и откуда возник currentTarget?

DZHETIGAPA 20.04.2011 11:15

блин... вот тут и была ошибка... вынес функцию за пределы основной функции... спасибо большое!!!

currentTarget - это цель мышиного события клика.


Часовой пояс GMT +3, время: 02:27.