制作汉堡动画的JS问题



我写了这段JS代码,它改变了hamburger menudiv的类,在大多数浏览器上它可以工作,但在一些较旧的浏览器上它不起作用(它不会改变类,也不会在控制台中给我任何错误(。

JS代码:

var hamburger = document.querySelector("#hamburger"); // hamburger menu
var mtMenu = document.querySelector(".m-t-menu");
hamburger.addEventListener("click", function() {
if (hamburger.classList == "close") {
hamburger.classList = "open";
mtMenu.style.display = "block";
} else if(hamburger.classList == "open") {
hamburger.classList = "close";
mtMenu.style.display = "none";
}
});

有没有问题,或者有没有jQuery更好的方法来编写它?

而是尝试使用contains方法,该方法返回一个布尔值(即 true 或 false(。

hamburger.addEventListener('click', function(){
if (hamburger.classList.contains('close'){
hamburger.className  = 'open'
mtMenu.style.display = 'block'
} else if (hamburger.classList.contains('open')){
hamburger.className  = 'close'
mtMenu.style.display = 'none'
}
})

但是,包含方法在较旧的浏览器中可能不可用;我不完全确定。

相关内容

  • 没有找到相关文章

最新更新