Сложный обьект

 
0
 
JavaScript
ava
Astraller | 16.08.2007, 16:55
Пытаюсь создать себе новый обьект.
В частности это div с еще одним вложенным дивом.
Объект создаётся конструктором - им же присваивается как потомок к body.
При попытке изменить свойство объекта свойство меняется но отображения объекта не происходит.
Вот - кнопка create творит объект. Кнопка edit изменяет его ширину. Но при нажатии ширина отображаемого div'а не меняется. А вот если его развернуть и свернуть обратно - все путём!
http://www.museum-of-money.org/tmp/index3.php

Помогите. Видимо я чего-то недопонимаю.
Comments (7)
ava
dXdYdZ | 17.08.2007, 00:15 #
Так у Вас ничего и не получится. Ведь win-это не узел DOM, а объект JavaScript. Этот объект сам создаёт объектную модель. А присвоением win.width="1000" Вы просто добавляете к объекту win свойство win, но это никак не отражается на DOM.
Вы должны изменить стиль узла p_window.
ava
Astraller | 17.08.2007, 08:06 #
Хорошо. А можно как-то отследить изменение свойств этого объекта JS?

Просто мне нужен автономный объект smile
ava
dXdYdZ | 17.08.2007, 23:01 #
Цитата


Просто мне нужен автономный объект


Автономный объект - это как?
ava
Astraller | 18.08.2007, 10:17 #
Цитата (dXdYdZ @ 17.8.2007, 23:01)
Автономный объект - это как?

Приведу пример чтобы не пускаться в пространные обьяснения:

win = window(100,100,"Заголовок","Текст");//Создали обьект
win.title="Новый заголовок";//Изменили заголовок
win.text="Новый текст";//Изменили содержимое
win.width=200;//Изменили ширину
win.height=150;//Изменили высоту

Вот в этом суть. Т.е. при сожздании окна всё просто - создаём div в него кладём еще один который будет выполнять функцию titlebar'a... Но возникает проблема как заставить изменятся свойства div'a когда я меняю свойства своего JS обьекта?

Дело в том что я пишу свою часть проекта - свой класс с которым потом будут работать другие люди. И их не устраивает писать:

win.firstChild.innerHTML="Новый заголовок";
win.lastChild.innerHTML="Новый текст";
win.style.width=200+"px";

И это вполне объяснимо smile
ava
dXdYdZ | 18.08.2007, 14:04 #
Цитата


Но возникает проблема как заставить изменятся свойства div'a когда я меняю свойства своего JS обьекта?


Объект window должен иметь соответствующие методы, например resize. А уже в этом методе надо менять свойства div-а.
Кстати, для приера можете посмотреть мою библиотеку (бета-версия).
ava
Astraller | 18.08.2007, 14:26 #
Библиотеку я вашу уже смотрел.
А по методам вопрос - как мне отследить когда изменяется одно из свойств моего JS объекта?
ava
dXdYdZ | 19.08.2007, 11:44 #
Самый простой способ - изменять свойство не напрямую, а посредством функции в объекте. То есть внутри объекта должна быть функция для изменения свойств. Например, если Вам надо изменять размеры, то можно cделать функцию setSize(width,height).
А уже в этой функции назначать размеры div-у.
Например:
win.setSize(100,200);
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit