
Media-выражения (Media Queries) используются в CSS для определения стилей для разных устройств, разрешений экрана и т.д. Однако, media-выражения также могут быть использованы в JavaScript для определения, какое устройство использует пользователь, и на основе этого делать различные действия.
Для того чтобы использовать media-выражения в JavaScript, можно воспользоваться объектом window.matchMedia(). Этот метод возвращает объект MediaQueryList, который содержит информацию о том, соответствует ли текущее окно браузера заданному media-выражению.
Вот пример использования метода window.matchMedia():
const mediaQuery = window.matchMedia("(max-width: 768px)")
function handleMediaQueryChange(event) {
if (event.matches) {
console.log("Экран меньше 768 пикселей")
} else {
console.log("Экран больше 768 пикселей")
}
}
mediaQuery.addListener(handleMediaQueryChange)
handleMediaQueryChange(mediaQuery)В этом примере мы создаем объект MediaQueryList, который проверяет, соответствует ли ширина текущего окна браузера media-выражению (max-width: 768px). Затем мы добавляем обработчик события addListener(), который будет вызываться каждый раз, когда состояние media-выражения изменится. В обработчике события мы проверяем, соответствует ли текущее состояние media-выражения условию matches, и выполняем соответствующее действие.
Также, можно использовать метод window.matchMedia() вместе с объектом MediaQueryList для проверки состояния media-выражения в любое время:
const mediaQuery = window.matchMedia("(max-width: 768px)")
if (mediaQuery.matches) {
console.log("Экран меньше 768 пикселей")
} else {
console.log("Экран больше 768 пикселей")
}В этом примере мы проверяем, соответствует ли текущее состояние media-выражения условию matches, и выполняем соответствующее действие.