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, и выполняем соответствующее действие.


Назад