0

我需要在 javascript 中为我的 web 3 matchMedia 间隔。我试着用这个:

if (matchMedia) {
var m1 = window.matchMedia("(max-width:640px)");
var m2 = window.matchMedia("(max-width:1024)");
m1.addListener(WidthChange);
m2.addListener(WidthChange);
WidthChange(m1,m2);
                }

                function WidthChange(m1,m2) {

                      if(m1.matches) {
                        console.log('ok1')
                      }else if(m2.matches){
                        console.log('ok2')
                      }else{
                        console.log('ok3')
                      }

它不起作用。我该如何修改它?谢谢你的帮助!

4

1 回答 1

0

我认为您只是缺少来自以下位置的“px”:

var m2 = window.matchMedia("(max-width:1024)");

此外,您不想将m1and声明m2为 的参数WidthChange,因为这将覆盖您在上面声明的m1andm2变量。to 的参数WidthChange实际上是 a MediaQueryListEvent,您没有在回调中使用它。所以只需像这样声明它:

function WidthChange() {
于 2017-04-28T08:17:38.900 回答