butteff
@butteff
Раз в тысячу лет заправляю свитер в носки

На что повесить обработчик и какой, чтобы узнать высоту нового блока?

Здравствуйте. Есть код:

var scav = $('#el').height();

Он всегда возвращает 0 в переменную scav.
Сам блок #el изначально имел display:none.

Т.е. ситуация понятна, изначально в DOM информация о высоте блока хранилась, как 0, я понимаю это так.

Вот я делаю

$('#el').show();
var scav = $('#el').height();


В переменной все равно 0.
Думаю, надо бы повешать обработчик с помощью метода on, но вот какой не пойму никак.

Пробовал так:

jQuery("body").on("change", "#el", function(event){
        console.log('yep');
       var scav = $('#el').height();
    });


в консоли даже не видно yep. Ну, видимо, событие change не подходит. А какое тогда?

Не получается что-то.
Подскажите, пожалуйста.
  • Вопрос задан
  • 2232 просмотра
Решения вопроса 2
nalomenko
@nalomenko
Руководитель отдела разработок в студии «Lava»
var scav = 0;

$(function(){
	$('#el').show(function(){ scav = this.height(); })
});
Ответ написан
madmages
@madmages
Человек прямоходящий
есть подозрение что на элементе стоит чтото вроде float:left и тогда он действительно может иметь высоту 0. нужен конкретный пример гденить на pastebin или еще где. а иначе это тыкать пальцем в небо.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы