Javascript для измерения нескольких высот Div - PullRequest
0 голосов
/ 14 ноября 2011

Я пытаюсь создать аккордеонное меню с помощью jQuery, но сталкиваюсь с нервной анимацией.Прыжок вызван не установлением высоты для div.Моя проблема в том, что каждый div будет иметь разную высоту в зависимости от содержимого;поэтому вопрос в том, как бы я использовал javascript для просмотра каждого элемента div с помощью класса 'submenu', измерения его высоты и установки его.

С чем я сталкиваюсь, так это тем, что он измеряет только один .submenu div и устанавливает их всех на эту высоту.Мысли?Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 14 ноября 2011

Поверьте, я нашел проблему. У меня был вышеуказанный скрипт в функции $ (document) .ready (), который только загружал и впоследствии измерял DOM. Переместил его в функцию $ (window) .load (), которая позволяет ему видеть содержимое и затем измерять высоту. Для пояснения: div класса .submenu - это div аккордеона.

$(window).load(function(){
  $('.submenu').each(function() {
    var divh = $(this).height();
    $(this).css('height', divh + 'px');
  });

  $('.submenu').hide();
});
0 голосов
/ 14 ноября 2011

Предположим, тоже выглядит так:

$('.submenu').each(function() {
  var divh = $(this).height();
  $('.divClass').css('height',  $('.divClass').height() + divh + 'px');
});

Вам необходимо всегда добавлять текущую высоту div в вашем for к вашему гармошке div

...