Вопрос

Я столкнулся со странной проблемой с Firefox, у меня есть тег DIV с ID ="popup_layer".Я использую Jquery, чтобы найти этот DIV, который работает нормально :

var rightPosition=$j("#popup_layer")

Но когда я пытаюсь найти положение DIV:

var rightPosition=$j("#popup_layer").position().left; 

Я получаю следующее исключение в Firebug:

[Исключение..."Не удалось преобразовать аргумент JavaScript arg 0 [nsIDOMViewCSS.getComputedStyle]" nsresult:местоположение "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)":"Фрейм JS :: http://localhost:20094/Scripts/CombineJS.ashx?JSFiles=/Scripts/jquery-1.2.6.min.js;%20%20%20%20/Scripts/PDP/newModalBox.js;%20%20%20%20/Scripts/CookieHelpers.js;%20%20%20%20popupLayer.js;%20%20%20%20/BE/Scripts/scripts.js;::Аноним ::строка 23 "данные:нет]

Это было полезно?

Решение 2

По какой-то причине, когда я удаляю стиль в своем div, он начинает работать

<div id="popup_layer" style="display:none;">

Для

<div id="popup_layer">

совершенно странно !

Другие советы

Вы не можете получить размеры или положение элемента DOM с помощью display:none.По определению, элемент не должен существовать, отображаемый на странице, следовательно, он не занимает места.

Я предлагаю изначально оставить ваш элемент видимым, получить нужные размеры, а затем применить "display:none" после того, как вы закончите его измерять.

В качестве альтернативы вы могли бы использовать "visibility:hidden" вместо этого.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top