瀟湘沐
2023-04-20 09:55:43
const btnMenu = document.querySelector('#btnMenu') .addEventListener('click', function() { console.log('open menu'); if (btnMenu.classList.contains('open')) { btnMenu.classList.remove('open') } else { btnMenu.classList.add('open') } });這段代碼有什么問題,我試著繞過它,它是為了廣告打開菜單的動作,但我現在只做動畫。
2 回答

慕碼人8056858
TA貢獻1803條經驗 獲得超6個贊
嘗試這種方式..
const btnMenu=document.querySelector('#btnMenu');
btnMenu.addEventListener('click', function(){
console.log('open menu');
if(btnMenu.classList.contains('open')){
btnMenu.classList.remove('open')
}
else{
btnMenu.classList.add('open')
}
});

慕俠2389804
TA貢獻1719條經驗 獲得超6個贊
因為btnMenu被設置為addEventListener- 這不是對按鈕的引用的結果。該方法返回undefined!
在事件偵聽器函數中將this引用元素:
document.querySelector('#btnMenu')
.addEventListener('click', function() {
console.log('open menu');
if (this.classList.contains('open')) {
this.classList.remove('open')
} else {
this.classList.add('open')
}
});
添加回答
舉報
0/150
提交
取消