Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   DHTML/JS/CSS (http://www.flasher.ru/forum/forumdisplay.php?f=24)
-   -   Координаты картинки, или как заобъектить img ? (http://www.flasher.ru/forum/showthread.php?t=28242)

crz LuniZz 09.03.2002 13:03

Координаты картинки, или как заобъектить img ?
 
Как сделать картинку объектом JS для дальнейшего получения координат этого объекта? (по ним будут позиционироваться объекты выпадающего меню). И еще вдагонку вопросик: каким образом можно втиснуть слой в таблицу, например, чтоб он именно находился в нужном <td> и никуда не уезжал? Ну и потом брать его координаты, да и позиционировать по ним остальные элементы меню?

Aib 09.03.2002 15:32

Картинка и так объект, а координаты её можно получить только в NN
Доступ document.images[i] или document.img_name

crz LuniZz 09.03.2002 17:40

...
 
Имеет ли смысл тогда позиционировать меню по слоям, впаянным в таблицу? Если кто знает что-то про алгоритм такой, маякните плиз! :rolleyes:

Fouly 09.03.2002 21:28

2 crz LuniZz
В NN4 получить координаты картинки невозможно.

В IE есть много способов, пожалуй самый лучший - это назначить ей относительное позиционирование (тебе ведь это нужно?).

<img src="image.gif" width=100 height=100 border=0 alt="" name=aaa style="position:relative">

alert(document.aaa.offsetLeft);

Будет работать даже если ты её засунешь в растягивающуюся таблицу.

Разумеется, к ней можно обращаться и по Id и через массив images. Свойств дающих координаты тоже много:
offsetLeft
style.left
style.pixelLeft
...
короче смотри MSDN

Aib 09.03.2002 23:47

Как это невозможно в NN4
 
А вещь типа document.imgname.x & document.imgname.y что делают???

Fouly 10.03.2002 00:33

Ах, ну да - облажался, как и ты, впрочем :D

Aib 10.03.2002 11:23

Нормально, зато теперь все будут знать, что с координатами можно работать и в NN и в IE :) :) :)

crz LuniZz 10.03.2002 17:51

Спасибо народ!
 
Спасибо бАльшое :))) Чего мне собственно надо-то:

http://www.paco.net/test/

Вот по этому адресу происходят работы по переделке сайта. Вернее, сам контент уже переписан, осталось сделать вот это вот выпадающее меню. Я никогда до этого особо на JS не писал, да вот пришлось... Дернул де-то меню выпадающее на фрисорсах, но оно токо толком в ИЕ6 пашет :((( Вот теперь свое собрался писать... Будем эксперементировать! ;)

crz LuniZz 10.03.2002 17:57

Елки... засвистелся
 
ps -> по этому адресу менюшки выпадающие позиционирутся по слоям 0*0... но почему-то в 5 эксплоде (именно в 5!) при переходе с ссылки на ссылку происхожит съезжание этих меню туды-сюды :( В 6 все пашет аля фонтан, кто знает, в чем трабла-то? :rolleyes:

crz LuniZz 12.03.2002 12:49

Народ! На помощь опять!
 
Говорю чего сделано и чего не работает...
- в табличке рисую слой, таким вот образом:

if(ie) {document.write('<DIV ID="menu1" style="position:absolute; visibility:hidden" width=0 height=0>hkjasdh</DIV>');}
if(n6) {document.write('<DIV ID="menu1" style="position:absolute; visibility:visible" width=0 height=0>hkjasdh</DIV>');}
if(ns) {document.write('<DIV ID="menu1" style="position:relative; visibility:visible" width=0 height=0>hkjasdh</DIV>');}

Вроде нормально, в нужное место вставляется слой. В ИЕ прекрасно получаю координаы слоя через menu1.offsetLeft и ...Top

Меню по ним позиционируется

В НН4 и НН6 НИФИГА не получается :((( в смысле добраться до реальной позиции menu1 :(

Народ! Чего делать-то? ПОМОГИТЕ!

Fouly 12.03.2002 15:49

А как ты осуществляешь доступ к слою ?
для IE4 и выше - document.all[]
для IE5 и выше - document.getElementById()
для NN6/Mozilla - document.getElementById()
для NN4 document.layers[]

свойства дающие координаты слоля в NN4 - clip.left

crz LuniZz 12.03.2002 16:49

никак :(
 
Я даже не знаю, что к нему надо доступ какой-то осуществлять... Я типа в первый раз JS в глаза вижу по-серьезному, чесслово! Я так щас слегка начал прозревать, и подумал, что наверни надо сначало сделать menushka = document.getElementById(menu1) где menu1 - ID слоя, а уж потом брать координаты менюшки... в ие все паше напрямую,
просто menu1.offsetTop.... Народ, я на верном пути аль нет?

2Fouly - спасибо

crz LuniZz 15.03.2002 01:29

nn-6x - выбирай лучшее
 
в нн 6.0х нифига не работает... :( Доказано практикой. Все пашет в нн 6.1, 6.2. Доказано практикой. :rolleyes:

Aib 15.03.2002 10:22

Напиши вот-такую функцию:

var NN = (document.layers ? true : false);

function LayerAccess (name){
if (NN) {
return document.layers[name];
} else {
return eval('document.all.' + name + '.style');
}
}

Дальше к слою можно обращаться, допустим,

LayerAccess('MyLayer').visibility

Для прочих доступов можешь ещё и свойства описать (а отдельные функции или сюда-же, типа конструктор).

crz LuniZz 18.03.2002 13:33

Спасибо, народ!
 
Спасибо большое, уважаемые люди! Нашел я меню, которое работает везде (подсказал А. Круглов, дал ссылочку.) Единсвенное, что я додлела - так это дописал скрит\пт позиционируюший меню. И все. Рабочая версия - http://www.paco.net/test/ Меню пашет в NN4, 6 Ie4-up ;)

crz LuniZz 18.03.2002 13:36

%)
 
%)

Ссорри за орфаргафические ошибки, нось до этого удалась :)


Часовой пояс GMT +4, время: 15:55.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.