Форум по Delphi программированию



Вернуться   Форум по Delphi программированию > Общие вопросы > WEB-Программирование
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.06.2011, 17:44
ART ART вне форума
Продвинутый
 
Регистрация: 13.02.2006
Адрес: Магнитогорск
Сообщения: 669
Репутация: 14745
По умолчанию JS: не изменяется положение элементов

вбиваю в адресной строке что-то типа:

javascript: дальше код создания div'ов.

стиль такой:

Код:
  for (i = 0; i < 10; i++) {
   var d = document.createElement('div');   
   d.style.position = 'absolute';
   d.style.top = 0;
   d.style.left = i * 50;
   d.id = 'div'+ i;
   d.style.height = 20;
   d.style.width = 20;
   d.style.textAlign = 'center'; 
   d.innerHTML = blabla + mas[i];  
   document.body.appendChild(d);
 }

И далее уже хочу управлять положением созданных элементов, но почему то они не хотят изменять свои координаты.

d.top = бла-бла - не работает.

Но если перед кодом создания элементов написать document.write(''), то все работает.
Ответить с цитированием
  #2  
Старый 23.06.2011, 19:46
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

ну сам же в начале писал:
d.style.top = 0;
либо:
document.getElementById('div5').style.top = 100;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 23.06.2011, 20:28
ART ART вне форума
Продвинутый
 
Регистрация: 13.02.2006
Адрес: Магнитогорск
Сообщения: 669
Репутация: 14745
По умолчанию

Потом я, в обработчике события mousemove пытаюсь изменить их style.top в зависимости от координат мыши, но их положение не меняется. Или надо как то по-другому менять, например, не через style.top?
Ответить с цитированием
  #4  
Старый 23.06.2011, 20:47
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

PHP код:
document.getElementById('div5').style.top 100
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #5  
Старый 23.06.2011, 21:10
ART ART вне форума
Продвинутый
 
Регистрация: 13.02.2006
Адрес: Магнитогорск
Сообщения: 669
Репутация: 14745
По умолчанию

Обижаешь )) я не настолько туп. ))) Я именно таким способом и пытаюсь менять
Ответить с цитированием
  #6  
Старый 24.06.2011, 08:36
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

честное слово - не хотел обидеть) не увидел у тебя такого.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #7  
Старый 24.06.2011, 10:45
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

PHP код:
<html>
  <
body>
    <
script type="text/javascript" language="JScript">

      var 
dragObject null
      
var = -1;
      var 
= -1;

      function 
onMouseDown(event) {
        
event event || window.event;
        
dragObject event.target || event.srcElement;
        
event.clientX;
        
event.clientY;
      }

      function 
onMouseMove(event) {
        if(
dragObject != null) {
            
event event || window.event;
            
dragObject event.target || event.srcElement;
            
document.getElementById(dragObject.id).style.posLeft document.getElementById(dragObject.id).style.posLeft + (event.clientX x);
            
document.getElementById(dragObject.id).style.posTop document.getElementById(dragObject.id).style.posTop + (event.clientY y);
            
event.clientX;
            
event.clientY;
        }
      }

      function 
onMouseUp(event) {
        
dragObject null;
      }

      for(
010i++) {
        var 
newDiv document.createElement("div");
        
newDiv.style.position "absolute";
        
newDiv.style.width 100;
        
newDiv.style.height 100;
        
newDiv.style.left newDiv.style.posWidth;
        
newDiv.style.top 0;
        
newDiv.id "div" i;
        
newDiv.innerHTML "Перетащи меня " i;
        
document.body.appendChild(newDiv);
        
newDiv.onmousedown onMouseDown;
        
newDiv.onmousemove onMouseMove;
        
newDiv.onmouseup onMouseUp;
      }
      
document.body.onmouseup onMouseUp;
    
</script>
  </body>
</html> 

только в IE
http://j2me.webservis.ru/divmove.htm
так надо?
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #8  
Старый 24.06.2011, 13:49
ART ART вне форума
Продвинутый
 
Регистрация: 13.02.2006
Адрес: Магнитогорск
Сообщения: 669
Репутация: 14745
По умолчанию

Спасибище. Все соль была в posTop и posLeft. Через них координаты меняются.
Ответить с цитированием
Ответ



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2021

ВКонтакте   Facebook   Twitter   Ссылка на Telegram