BOM – Window.matchMedia

参考

Youtube – Detecting Screen Size and OS Dark Mode with matchMedia() - JavaScript Tutorial

 

介绍

CSS 有 Media Query, JS 呢? 

没错就是用 Window.matchMedia 方法.

 

使用

const mediaQuery = '(min-width: 800px)';
const mediaQueryList = window.matchMedia(mediaQuery);
console.log(mediaQueryList.matches); // true or false

mediaQuery 和 CSS 写法一样.

调用 window.matchMedia 返回一个 mediaQueryList 对象.

mediaQueryList.matches 表示是否匹配.

watch change

早年好像是没有 watch 的, 要自己监听 resize 然后再 matchMedia

但现在有了

mediaQueryList.addEventListener('change', event => {
  console.log(event.matches); // 或者用 mediaQueryList.matches 也是可以的
});

当 matches 发生变化时会触发.

 

posted @ 2022-06-01 23:25  兴杰  阅读(83)  评论(0编辑  收藏  举报