Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вопрос по абсолютному позиционированию <DIV>

345
21 февраля 2007 года
vadim_k
312 / / 01.08.2006
Добрый всем день

Вот такой вопрос.
Делаю появляющийся в точке клика <DIV>
Вот функция


function rek_show(el_show,event){
elem=document.getElementById(el_show);

if(navigator.appName.indexOf('Internet') > -1) { elem.style.left=event.x; elem.style.top=event.y; }
else { elem.style.left=event.pageX; elem.style.top=event.pageY; }

elem.style.display = 'inline';
return false
}


Проблема в том что в IE <DIV> появляется там где надо
А в Опере И Мозиле нужные координаты elem.style.left и elem.style.top присваиваются(проверял с помощью alert)
но <DIV> остаётся на месте то есть не перемещается
Кто знает подскажите почему ????
7.3K
21 февраля 2007 года
JB13
64 / / 05.09.2005
Попробуй так.

 
Код:
function rek_show(el_show,event){
elem.document.getElementById(el_show);
elem.style.position = 'absolute'; //абсолютное позиционирование

if(navigator.appName.indexOf('Internet') > -1) { elem.style.left=event.x; elem.style.top=event.y; }
else { elem.style.left=event.pageX; elem.style.top=event.pageY; }

elem.style.display = 'inline';
return false
}
345
21 февраля 2007 года
vadim_k
312 / / 01.08.2006
Теперь и в Опере заработало, а в МОзиле глючит, выдаёт со большим смещением в право ???
2.1K
22 февраля 2007 года
mainigor
151 / / 21.10.2005
Цитата: vadim_k
Теперь и в Опере заработало, а в МОзиле глючит, выдаёт со большим смещением в право ???



Я как-то тоже эту проблему решал.
У меня вот что получилось.

 
Код:
define("OFFSET_X", 2);                        // смещение по X
    define("OFFSET_Y_MSIE", 130);             // смещение для MSIE
                                               
    define("OFFSET_Y_OTHER",110);            // смещение для других браузеров

т.е. смещение для всех по X одинаково.
А для Y IE и все остальные. В эксперименте участвовали:
IE7 , Opera 9.0, Mozila FireFox 2.0.0.1
92
22 февраля 2007 года
Тень Пса
2.2K / / 19.10.2006
а у мя никакого смещения )
345
22 февраля 2007 года
vadim_k
312 / / 01.08.2006
У меня в IE6(even.x,even.y), и Opera 9.02(pageX,pageY) смещения нет
А в Firefox/1.0.7(pageX,pageY) по Х приходится смещать -600
92
22 февраля 2007 года
Тень Пса
2.2K / / 19.10.2006
фигасе :eek:

PS: FireFox 2.0.0.1 / 1.5.0.7 оба нормально =)
345
22 февраля 2007 года
vadim_k
312 / / 01.08.2006
Попутный вопрос как сделать чтобы через некоторое время елемент стал не видимым вновь
пробую

setTimeout("elem.style.display = 'block'",1000);

не работает
92
22 февраля 2007 года
Тень Пса
2.2K / / 19.10.2006
 
Код:
setTimeout("document.getElementById('"+your_id+"').style.display = '[COLOR=Red]none[/COLOR]'",1000);
345
22 февраля 2007 года
vadim_k
312 / / 01.08.2006
Спасибо я ошибся в мелочах
Совсем запарился надо 'none'
а я балбес пишу 'block'
у меня и раньше правильно было
setTimeout("elem.style.display = 'none'",1000);
92
23 февраля 2007 года
Тень Пса
2.2K / / 19.10.2006
ну эт если elem определен, тогда естессна, правильно :) а то мало ли куда ты это воткнул )) ты ж весь код не положил ;)
345
23 февраля 2007 года
vadim_k
312 / / 01.08.2006
Да нет я без претензий, правдо спасибо !
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог