Задать вопрос
Delgus
@Delgus

Как получить новую ширину элемента?

$(window).resize(function() {
  let slider = $(".slide-bg.owl-lazy");
  let originWidth, originHeight;
  if($(window).width() < 740){
    let small = slider.data("small-img");
    originWidth =  parseInt(slider.data("small-width"));
    originHeight =  parseInt(slider.data("small-height"));
    slider.attr('data-src', small);
  } else {
    let big = slider.data("full-img");
    originWidth =  parseInt(slider.data("full-width"));
    originHeight =  parseInt(slider.data("full-height"));
    slider.attr('data-src', big);
  }
  $(".home-slide-content").height($(".slide-bg").width() * originHeight / originWidth);
});

Есть такой код который при ресайзе расчитывают новую высоту объекта. Такой костыль из-за карусели где картинка в background-image и поэтому размер неправильно считается для показа.

Проблема в том что почему-то $(".slide-bg").width() возвращает ширину элемента до ресайзинга, а я хочу получить актуальную. Баг очень очевидный так как при поворотах телефона, при сворачивании и разворачивании экрана высота неправильно рассчитывается. Как решить это?
  • Вопрос задан
  • 42 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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