получить высоту и ширину div после загрузки информации из внешнего источника с помощью jquery - PullRequest
1 голос
/ 23 февраля 2012

Я видел подобные вопросы, но не нашел ответа для моей ситуации. Я создал простой модальный всплывающий плагин, используя jQuery, который работает так: $('#popup').popupElement("http://www.example.com #somediv");

Загружает div с другого сайта при нажатии селектора #popup. Функция щелчка выглядит так:

            $(thisObj).click(function(e){
            e.preventDefault();
            $("#popupDiv").load(div);
            centerPopup();
            loadPopup();
        });

Проблема в том, что когда он загружает внешний div в popupDiv, высота и ширина popupDiv равны 0, поэтому centerPopup () не может центрировать его правильно После нескольких нажатий на ссылку #popup размеры popupDiv исправляются. Есть ли способ убедиться, что popupDiv настроен на правильные размеры перед вызовом centerPopup ()?

Ответы [ 2 ]

0 голосов
/ 23 февраля 2012

Попробуйте сделать вызовы на centerPopup() и loadPopup() в функции обратного вызова load().Это гарантирует, что содержимое находится в DOM, прежде чем вы попытаетесь показать всплывающее окно, а это означает, что высота и ширина должны быть доступны.Попробуйте это:

$(thisObj).click(function(e){
    e.preventDefault();
    $("#popupDiv").load(div, function() {
        centerPopup();
        loadPopup();
    });
});
0 голосов
/ 23 февраля 2012

Вы пытались скрыть элемент по умолчанию, затем перед вызовом centerPopup () показать его (), но не показывать его видимость, а затем проверить его ширину () и высоту (), чтобы увидеть, получил ли он уже размеры?

...