在CSS中使用Media Query已经变得家常便饭,但如果需要JavaScript参与到这一过程中,则不是非常容易了。好在我们现在有了enquire.js

实际上标准委员会已经在JavaScript中开始筹备与Media Query相关的方法,那就是matchMedia()。但这一API的使用比较繁琐,因此如果使用enquire.js,那就能在一定程度上减轻我们的负担。

如何使用

enquire.js的用法比较多,这里只介绍一下最基本的使用方法:

//注册屏幕小于1000px情况时的动作
enquire.register("screen and (max-width:1000px)", [
//match用于进行匹配,enquire.js另外还有其它几个API,如unmatch、setup
    { match : function() { console.log("handler 1 matched"); } },
    { match : function() { console.log("handler 2 matched"); } }
 ]);

兼容性

由于enquire.js基于matchMedia(),因此能够工作的浏览器平台非常有限,目前IE9、Opera 12均不支持。具体的兼容情况详见:caniuse.com

当然,pollyfill还是有的:https://github.com/paulirish/matchMedia.js/

许可证

enquire.js和大部分JavaScript库一样,遵循MIT协议开源。

About liuyanghejerry

富有激情的前端工程师,专注GUI开发。

Comments are closed.

Post Navigation