За последние 24 часа нас посетили 22378 программистов и 1056 роботов. Сейчас ищут 569 программистов ...

outerHeight() - не определяет высоту элемента

Тема в разделе "JavaScript и AJAX", создана пользователем Arhitec, 8 окт 2018.

  1. Arhitec

    Arhitec Новичок

    С нами с:
    13 июл 2016
    Сообщения:
    43
    Симпатии:
    1
    Доброго всем вечера!
    Динамически, через скрипт, создаю модальное окно:
    Код (Javascript):
    1. $('body').append('<div class="aw-modal-overlay" id="aw-overlay-' + modalid + '"><div class="aw-modal" style="width: ' + set.width +'px;" id="aw-modal-' + modalid + '"></div></div>');
    2. var heightElement = $('#aw-modal-' + modalid).outerHeight();
    Переменная heightElement = 0. Но высота модального окна не равна нулю.
    Почему не определяется высота?

    Полная рабочая версия скрипта в примере: http://architec.3440.aqq.ru/aw-content/aw-style/aw-modal-style.html

    Хочу заставить центрироваться блок по высоте окна браузера. Если привязываю расчет положения модального окна к .resize()? то после срабатывания ресайза все центруется правильно...

    Центрирую модальное окно так:
    Код (Javascript):
    1. $(window).resize(function()
    2.     {
    3.         var heightElement = $('#aw-modal-' + modalid).outerHeight();
    4.         console.log('Высота: ' + heightElement);
    5.        
    6.         $('#aw-modal-' + modalid).css
    7.         ({
    8.             position:'absolute',
    9.             left: ($(window).width() - $('#aw-modal-' + modalid).outerWidth())/2,
    10.             top: ($(window).height() - $('#aw-modal-' + modalid).outerHeight())/2
    11.         });
    12.     });
    13.     $(window).resize();
     
  2. Arhitec

    Arhitec Новичок

    С нами с:
    13 июл 2016
    Сообщения:
    43
    Симпатии:
    1
    Ответ найден!
    Поскольку блок, высоту которого я хочу получить, является скрытым, т.е. dysplay = none, то определить высоту такого объекта невозможно.