Вызов события, когда документ готов и документ изменен

#jquery

#jquery

Вопрос:

Я использую следующий скрипт, чтобы получить заполнение верхней части div. Div получает его заполнение сверху с высоты изображения героя. Сценарий actuall отлично работает при загрузке размера, но когда я изменяю размер окна браузера, верхняя часть заполнения снова не вычисляется.

 jQuery(document).ready(function($) {
    /***** CONTENT-WRAPPER PADDING FRONTPAGE *****/
    var $banner = $(".front header img");
    $banner.on('load', function(){
        var bannerHeight = $(this).height();
        console.log(bannerHeight);
        $("#content-wrapper").css("padding-top", bannerHeight)
    });
})
  

Ответ №1:

Попробуйте это:

 jQuery( window ).resize(function() {
  var bannerHeight = $(".front header img").height();
  console.log(bannerHeight);
  $("#content-wrapper").css("padding-top", bannerHeight)
});
  

Комментарии:

1. Кроме того, я думаю, вам следует добавить «px» в .css( функция, например: $(«#content-wrapper»).css(«padding-top», bannerHeight «px»);

Ответ №2:

resize() Событие будет срабатывать при каждом изменении размера окна. Прикрепите свой обработчик к обоим событиям: onReady и resize :

 function calcPaddingTop() {
    // your logic here
}

jQuery(document).ready(calcPaddingTop);
jQuery(window).resize(calcPaddingTop);
  

Комментарии:

1. Он работает с document.ready, но не с изменением размера. Я не знаю почему. Решение от JC Herandez работает. Вы знаете, почему?