为了方便起见,我想构建一个函数来评估并返回各种媒体查询的结果。为此,我编写了以下内容:
//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)");
关于javascript - window.matchMedia(mediaQueryString)是否接受mediaQueryString的变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61649497/