рассчитать высоту и применить к div с помощью jquery

0

У меня есть изображение баннера, которое видно только, когда я устанавливаю фиксированную высоту, я хочу сделать ее отзывчивой, поэтому единственный способ, которым я думал, - это вычислить высоту изображения с шириной окна.

функция вычисления высоты: windowWidth/1.845

как я могу применить эту функцию к div css с jquery/javascript?

Я пробовал эту функцию, но она не работала

    $(document).ready(function(){
  var originalWidth = $( window ).width();
  var newHeight = originalWidth/+(1.845)
; 


  function resize() {
    $("#ei-slider").css("height", newHeight); 

  }

  $(".target").each(resize);
  $(document).resize(function(){
      $("ei-slider").each(resize);
  });
});
  • 0
    Каковы размеры вашего баннера?
  • 0
    Вы пропускаете $("ei-slider").each(resize); что-то здесь? . перед ei-slider ?
Теги:
slider
height

2 ответа

0

Попробуйте добавить(), когда вы вызываете изменение своей функции

$(".target").each(resize());
  $(document).resize(function(){
      $(".ei-slider").each(resize());
  });

Кроме того, вы пропустите точку перед ei-slider

И я настоятельно рекомендую вам использовать backstretch jquery plugin. http://srobbin.com/jquery-plugins/backstretch/

  • 0
    это сработало (код), но только при первой загрузке страницы! когда я изменяю размер, он не меняется! во всяком случае, это была огромная помощь, спасибо Роло!
  • 0
    Попробуйте прикрепить метод resize к окну $ (window) .resize ...
0

Почему изображение отображается только при установке фиксированной высоты? Изображение было бы "отзывчивым" автоматически, если бы вы сделали это в своем CSS.

img {
  max-width: 100%;
  width: 100%;
}

Однако, если вам нужно делать другие вещи при изменении размера, вы, вероятно, захотите прослушивать размеры на window а не на document.

$(document).ready(function () {

  var $window = $(window);
  var originalWidth = $window.width();
  var newHeight = originalWidth / 1.845; 

  function resize() {
    // This will be .target or .ei-slider based on where it called.
    $(this).css("height", newHeight);
  };

  $(".target").each(resize);

  $window.on('resize', function(){
      $(".ei-slider").each(resize);
  });

});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню