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

Как прослушать событие изменение окна браузера?

У меня есть два блока, я хочу получить высоту первого блока и присвоить эту высоту второму блоку. Все получилось, но высота применяется только один раз, когда загружается страница.
Можно как-нибуть прослушать событие изменение окна браузера и там дальше применять высоту ко второму блоку каждый раз?
  • Вопрос задан
  • 19695 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 3
evgeniy8705
@evgeniy8705
Повелитель вселенной
window.addEventListener(`resize`, event => {
	// some code
}, false);

// PS. Кажется вы делаете что то не то. Возможно стоило бы просто прослушивать изменение размера первого блока и изменять размер второго, а не слушать resize всего окна.
// И вообще кажется все это можно сделать на css.
// Объясните для чего вам изменять размер блока в зависимости от размера другого блока?
Ответ написан
@Camaro67
Помог? - жми "Отметить решением"
window.onresize = function( event ) {};
Ответ написан
Комментировать
@malcore_hardcore968 Автор вопроса
Нашел выход :) Метод resize у jQuery
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Тоже искал решение проблемы, когда на мобильном браузере при скроллинге срабатывает ресайз, дело в сворачивающемся поле адресной строки при прокрутки вниз и разворачивающемся при прокрутке вверх, изза
этого меняется высота клиента. Использую такой код, который работает на 100%:

function resizeWidthOnly(a,b) {  
  var c = [window.innerWidth];
  return onresize = function() {
    var d = window.innerWidth,
        e = c.length;
    c.push(d);
    if(c[e]!==c[e-1]){
      clearTimeout(b);
      b = setTimeout(a, 50);
    } 
  }, a;
}

/* используйте функцию resizeWidthOnly вместо window.onresize   */

resizeWidthOnly(function() {
  console.log('Сработало')
});


Протестировать можно на этой странице
Ответ написан
Комментировать
Комментировать
Ваш ответ на вопрос

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

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