Nikulio
@Nikulio
NaN !== NaN

Неправильно отсчитывает высоту элемента при загрузке страницы?

Всем привет.
При загрузке страницы у меня такая функция :

$(document).ready(function () {
  bountyWizard();
})
function bountyWizard() {
  var activeBlockHeight = $(".bounty-elements__element.active").height();
  var parentBlock = $(".bounty-elements");
  parentBlock.height(activeBlockHeight)
  $(window).resize(function () {
    activeBlockHeight = $(".bounty-elements__element.active").height();
    parentBlock.height(activeBlockHeight)
  })
  
  $('.bounty-wizard__step').on('click', function(e) {
  
    e.preventDefault();
    var id = $(this).attr('data-bounty-id');
    var element = $('div[id="' + id + '"]');
    
    $(".bounty-wizard__step").removeClass("active");
    $(".bounty-elements__element").removeClass("active");
    
    $(this).addClass("active");
    element.addClass("active");
  
    var activeBlockHeight = $(".bounty-elements__element.active").height();
    parentBlock.height(activeBlockHeight)
  
  
  })


Проблема в том, что ф-я не всегда правильно даёт высоту, а это критично, ибо у .bounty-elements__element стоит postition: absolute; и если даётся неправильная высота, то блоки находят друг на друга
Какое есть решение?
  • Вопрос задан
  • 35 просмотров
Пригласить эксперта
Ответы на вопрос 1
@sdgroup14
вот вопрос ваш понятен, а вот исход не логичен. У вас высота активного блока динамическая? если да, то ок, а если нет, то зачем вы 3 раза переопределяете высоту.... Вы очень код свой засоряете....
Для начала создайте нам плункер, чтоб мы увидели, зачем вы 3 раза определяете переменную для высоты, и задаете ее :)

я бы на вашем месте создал function getHeight(){} ..... а потом ее обьявлял и в ресайзе и в клике... А пример нам обязательно нужен потому что с вашего вопроса и кода должно все работать верно... Может что то стороннее мешает или что то вы не учли
Ответ написан
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы