我写了这段JS代码,它改变了hamburger menu
div的类,在大多数浏览器上它可以工作,但在一些较旧的浏览器上它不起作用(它不会改变类,也不会在控制台中给我任何错误(。
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'
}
})
但是,包含方法在较旧的浏览器中可能不可用;我不完全确定。