我认为IE9不支持matchMedia,但支持媒体查询。
我在这里可能遗漏了一点,但是当您只需将以下代码添加到样式表中时,为什么要使用matchMedia
.desktop_view{display:block;}
.mobile_view{display:none;}
@media all and (max-width: 700px){
.desktop_view{display:none;}
.mobile_view{display:block;}
}
然后按如下所示检查Javascript中的条件?
if($("div.desktop_view").is(":visible")){
// Do something applicable to desktops
}
最佳答案
window.matchMedia
比您所拥有的强大。它不仅允许您以编程方式使用浏览器的本机媒体查询解析,而且返回对象(MediaQueryList
)允许您(通过onchange
)侦听与用户视口中的更改相对应的事件。
根据MDN Web Docs:
这样就可以观察文档以检测其媒体查询何时更改,而不是定期轮询值,并允许您基于媒体查询状态以编程方式对文档进行更改。
通过此事件处理程序,您可以开发出比简单地调用样式更改更复杂的功能-例如,跟踪旋转到横向的移动用户,以此作为您的网站是否针对肖像进行了精心设计的晴雨表。
关于javascript - 当您仅可以检查元素是否可见时,为什么要使用matchMedia?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46748600/