我编写了这段JS代码,它更改了hamburger menu
div的类,在大多数浏览器上都可以运行,但是对于一些较旧的它没有(它不会改变类,它不会' t在控制台中给我任何错误。)
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的情况下编写它?
答案 0 :(得分:0)
而是尝试使用方法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'
}
})
然而,旧版浏览器可能无法使用contains方法;我不完全确定。