Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript window.matchMedia(mediaQueryString)是否接受mediaQueryString的变量?_Javascript_Jquery_Css_Function_Media Queries - Fatal编程技术网

Javascript window.matchMedia(mediaQueryString)是否接受mediaQueryString的变量?

Javascript window.matchMedia(mediaQueryString)是否接受mediaQueryString的变量?,javascript,jquery,css,function,media-queries,Javascript,Jquery,Css,Function,Media Queries,为了方便起见,我想构建一个函数来计算并返回各种媒体查询的结果。为此,我写了以下内容: //Evaluate Media Query function eMQ(crit) { //Build Media Query From Criteria Parameter var lMQ = window.matchMedia(crit); //Evaluate and Return Result if (lMQ.matches) { return true;

为了方便起见,我想构建一个函数来计算并返回各种媒体查询的结果。为此,我写了以下内容:

//Evaluate Media Query
function eMQ(crit) {
    //Build Media Query From Criteria Parameter
    var lMQ = window.matchMedia(crit);
    //Evaluate and Return Result
    if (lMQ.matches) {
        return true;
    } else {
        return false;
    };
};
我想知道
window.matchMedia(crit)
是否会正确使用
crit
字符串,就好像该字符串是显式写入的一样


快速编辑:考虑到上面的函数本质上只是带有更多步骤的
window.matchMedia()
,我认为我应该澄清我的目的。我只是觉得
window.matchMedia()
很难处理,我想要一个不需要在末尾包含
.matches
的较短版本。

只要您传递了一个有效的媒体查询字符串,您的函数就应该正常工作,无论是否:

  • 您可以通过变量将该媒体查询发送到
    matchMedia
  • 将硬编码的媒体查询字符串显式发送到
    matchMedia
例如:

var crit = "(max-width: 700px)";
var lMQ = window.matchMedia(crit);
将产生与以下相同的结果:

var lMQ = window.matchMedia("(max-width: 700px)");

是的,是的