javascript - 为什么我的导航栏在移动时不会崩溃

标签 javascript html css

我试图在移动设备上折叠导航栏,但导航栏只有在我手动调整选项卡大小时才会折叠。所以它可能与启动时不检查屏幕大小有关
网站。

function openNav() {
  document.getElementById("mySidebar").style.width = "190px";
  document.getElementById("main").style.marginLeft = "190px";
}

function closeNav() {
  document.getElementById("mySidebar").style.width = "0";
  document.getElementById("main").style.marginLeft= "0";
}





var x = window.matchMedia("(max-width: 600px)")
myFunction(x) // Call listener function at run time
x.addListener(myFunction) // Attach listener function on state changes


function myFunction(x) {
  if (x.matches) { // If media query matches
      
      closeNav()
    
  }
    
  
}

最佳答案

你的问题是 addEventListener() .您没有在监听 window.matchMedia() 的状态.如果您使用它应该可以工作:

var x = window.matchMedia("(max-width: 600px)")
x.addEventListener("change", () => {
    myFunction(x);
});

关于javascript - 为什么我的导航栏在移动时不会崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64838970/

相关文章:

javascript - 将 ng-repeat 本地对象传递给指令 Controller 不起作用

javascript - 传递的事件处理程序未触发

javascript - 窗口未在 Prerender 上定义

html - 剪切可变宽度 HTML 表格中的一列

html - 将文本保留在框中

javascript - 如何在浏览器中使用 javascript sdk 上传 aws s3 存储桶中的多部分文件

html - 我在哪里可以找到有关 WebM 实时 http 流媒体的信息?

html - 如何为 HTML 中的标题文本创建不同的下划线颜色?

javascript - 如何在鼠标悬停时在图像上显示可点击的文本框

javascript - 如何将 JavaScript 变量放入 HTML 和 CSS 代码中