Логин:

Пароль:

Форумы
Общие вопросы
Document Object Model
Обсуждаем конференцию
Web Usability (test)

Общие вопросы

Хороший броузер Мозилла!

Нет, все-таки поотрывал бы руки некоторым девелоперам. Особенно тем, кто Оперу делал. Впрочем, не о ней речь. Наткнулся на замечательный глючок-с в Мозилле. Для начала приведу код, который этот глюк вызывает:

function showNN(e)
{
hor = window.innerWidth - document.getElementById('hint').offsetWidth - 20;
ver = window.innerHeight - document.getElementById('hint').offsetHeight - 20;
posHor = e.clientX + 10;
posVer = e.clientY + 10;

if (posVer < ver)
document.getElementById('hint').style.top = posVer
else
document.getElementById('hint').style.top = ver

if (posHor < hor)
document.getElementById('hint').style.left = posHor
else
document.getElementById('hint').style.left = hor
}

Понятно, что 'hint' - идентификатор слоя. Так вот в чем, собсно, хохма. Скажем создаем произвольный линк, который при mouseover показывает слой с координатами аналогичными координатам курсора +10 пикселей по ширине и высоте, соответственно. Если находишься в начале страницы, все норамально, но если поставить ссылку вниз страницы, куда-нибудь до куда надо доскролить еще, то мозилла показывает правильную координату в alert, а сама выводит слой совершенно в другом месте. Как я заметил, она не опускает слой ниже высоты клиентского окна, при этом отсчитывает координату от НАЧАЛА страницы. Простейшее задание координаты высоты напрямую (скажем, 500) лишний раз подтверждает эту вещь - мозилла упорно не опускает слой на нужное число.

И как же, интересно, такой расчудесный глюк можно побороть???

Для наглядности пример тут: http://www.czorny.com/mozilla.html

Самые нижние ссылки и есть причина беспокойства. Полный код, соответственно, можно глянуть без проблем.

Поубывал бы за такое, ей богу...
СообщениеАвторДата
Дмитрий Чернов31.07.2001 10:49
Leechy31.07.2001 11:25
Дмитрий Чернов31.07.2001 11:45
Leechy31.07.2001 12:27