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() возвращает ширину элемента до ресайзинга, а я хочу получить актуальную. Баг очень очевидный так как при поворотах телефона, при сворачивании и разворачивании экрана высота неправильно рассчитывается. Как решить это?
  • Вопрос задан
  • 37 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы