Umbrella JS предоставляет удобный способ работы с размерами окна
браузера, включая ширину, высоту и динамическое отслеживание изменений.
Основные методы и свойства позволяют получать значения без необходимости
обращаться напрямую к объекту window.
u().windowWidth(); // возвращает ширину окна в пикселях
u().windowHeight(); // возвращает высоту окна в пикселях
Эти методы удобны для адаптивного интерфейса, когда требуется динамически изменять элементы страницы в зависимости от размеров окна.
Umbrella JS поддерживает событие resize через метод
.on(), что позволяет реагировать на изменение размеров окна
и корректировать контент:
u(window).on('resize', function() {
let width = u().windowWidth();
let height = u().windowHeight();
console.log(`Ширина: ${width}, Высота: ${height}`);
});
Ключевой момент: объект window
оборачивается через u(window) для корректного применения
событийной модели Umbrella JS. Это обеспечивает кроссбраузерную
совместимость и упрощает управление обработчиками событий.
Размеры окна часто необходимы при динамическом изменении стилей элементов:
function adjustLayout() {
if (u().windowWidth() < 768) {
u('.sidebar').hide();
} else {
u('.sidebar').show();
}
}
u(window).on('resize', adjustLayout);
adjustLayout();
Здесь применяются методы .hide() и .show()
библиотеки Umbrella JS, позволяющие изменять видимость элементов без
прямой работы с CSS.
В нативном JavaScript размеры окна получают через
window.innerWidth и window.innerHeight.
Umbrella JS упрощает работу, оборачивая эти свойства в методы:
.on() делает код более структурированным и совместимым с
остальной функциональностью библиотеки.При интенсивной работе с событиями resize желательно
использовать дебаунс или троттлинг,
чтобы избежать чрезмерного количества вызовов функции при изменении
размера окна:
let timeout;
u(window).on('resize', function() {
clearTimeout(timeout);
timeout = setTimeout(adjustLayout, 200);
});
Этот приём снижает нагрузку на рендеринг и предотвращает “дергание” интерфейса при быстрых изменениях размеров окна.
Umbrella JS возвращает размеры в пикселях, что идеально для большинства задач адаптивного дизайна. При необходимости можно конвертировать значения в другие единицы через простые вычисления:
let widthInRem = u().windowWidth() / parseFloat(getComputedStyle(document.documentElement).fontSize);
Такой подход позволяет использовать значения окна в относительных единицах, удобных для масштабирования интерфейса на разных устройствах.
window и его
обёрткаОборачивание window через u(window)
позволяет не только навешивать события, но и использовать цепочку
методов Umbrella JS, что делает код единообразным:
u(window)
.on('resize', adjustLayout)
.once('load', function() {
console.log('Начальная ширина окна: ', u().windowWidth());
});
Метод .once() срабатывает только один раз при загрузке
страницы, что удобно для первичной настройки интерфейса.
Основные методы Umbrella JS для работы с размерами окна:
| Метод | Описание |
|---|---|
u().windowWidth() |
Возвращает ширину окна в пикселях |
u().windowHeight() |
Возвращает высоту окна в пикселях |
u(window).on('resize', fn) |
Навешивает обработчик на изменение размера окна |
u(window).once('load', fn) |
Выполняет функцию один раз при загрузке страницы |
Использование этих методов обеспечивает лёгкое, читаемое и кроссбраузерное управление размерами окна и адаптивным поведением элементов страницы.