Программирование > JavaScript & JScript
Изменить координаты объекта
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 (в который картинка заключена) изменят ли свои координаты остальные объекты (размеры и координаты которых указаны в процентах)?
Навигация
Перейти к полной версии