Программирование > JavaScript & JScript

Изменить координаты объекта

(1/3) > >>

Alexandr:
Есть некий объект напр.
2

При событии необходимо изменить его координаты и размеры (тобиш масштабировать)

Пишу след.
function plus(){
document.all["l"+2].style.left*=1.25;
}

Начинам ругаться....
Пишем так
function plus(){
alert(document.all["l"+2].style.left);
}

Ответ - 200px
Стало понятно почему пред. пример не робит.
Но осталось непонятно как заставить его работать.....
Есть конечно идея - работать со строкой и....
document.all["l"+2].style.left=document.all["l"+2].style.left.replace("/px/i", "");

Но мне это кажется извратом.
Может, как говорится, есть способ лучше?

Oak:
1) читай доки - там сразу написано, что оно строка
2) Опера может про эти доки и не знать ;) читай сравнение JS на http://developer.netscape.com
3) Есть функция parseInt или подобная - дабы не мучатся с replace
 (again - читай доки)
4) присваивать надо сново (сюрприз!) строку - т.е ко всему надо +"px"
делать

Макс:

--- Цитировать ---Может, как говорится, есть способ лучше?
--- Конец цитаты ---
В некоторых броузерах (типа NN) координаты - это число. А в IE - строка.
Я в таких случаях просто рекомендую пользоваться какими-либо межбраузерными библиотеками, типа klayers
В klayers например это делается:
layer("LayerName").setLeft(200);

Все остальное (преобразование в строку если нужно) klayers сделает за тебя

Alexandr:

--- Цитировать ---Я в таких случаях просто рекомендую пользоваться какими-либо межбраузерными библиотеками, типа klayers
В klayers например это делается:
layer("LayerName").setLeft(200);
--- Конец цитаты ---

Макс, а в моём случае выглядеть это будет так?
function plus(){
document.layer("l2").setLeft(document.all["l"+2].style.left*1.25);
}

Alexandr:
Тут у меня ещё идейка......
Задача у меня следующая:
есть прога http://www.autodealer.ru/acat-online/
Там есть картинки и запчасти. Однако, кртанки у мя щас не "прощёлканы", т.е. нет связи картинок и запчастей.
Щас я делаю, чтобы эта связь была, т.е. выглядит это след. образом: на картинке рисую обекты и явой делаю связь м/у ними.
Т.е. выглядит так
1
2


Далее хочу ещё сделать масштабирование.
С картинокой все ок:
function minus(){
self.frames.pic.picture.height*=0.8;
self.frames.pic.picture.width*=0.8;
}
А вот с div\'ами вышеуказанная проблема вышла.
Дак вот идея в след.:
в div\'ах указывать все не в px, а в процентах!!!!!!

Внимание, вопрос: :-)
при изменении размеров картинки, а следовательно и первого div\'a (в который картинка заключена) изменят ли свои координаты остальные объекты (размеры и координаты которых указаны в процентах)?

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии