亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

切換到另一個顯示器后 JavaScript 停止工作

切換到另一個顯示器后 JavaScript 停止工作

肥皂起泡泡 2023-07-20 10:41:10
每次我更改一個 HTML 文件中的顯示時,JS 都會停止工作(我嘗試用onclickJS 函數替換 HTML 調用,但它仍然是相同的)UPD:抱歉解釋不好。問題是,如果我通過單擊nav面板上的鏈接(例如從#main到#contacts或#cart)從該網站的主顯示屏移動,JS 腳本會停止響應漢堡圖標單擊(單擊漢堡導航面板以獲得 800px 的屏幕最大寬度,什么也不做)代碼:const burger = document.querySelector('.burger i');const nav = document.querySelector('.nav');function toggleNav() {  burger.classList.toggle('fa-bars');  burger.classList.toggle('fa-times');  nav.classList.toggle('nav-active');}burger.addEventListener('click', function() {  toggleNav();});html,body {  margin: 0;  padding: 0;  font-family: Arial, sans-serif;}.header {  width: 100%;  height: 70px;  display: flex;  align-items: center;  justify-content: space-around;  background: #ffffff;  color: #343434;  border-bottom: 1px solid #343434;  border-top: 1px solid #343434;}.logo {  letter-spacing: 3px;}.nav {  display: flex;  justify-content: space-around;  width: 30%;}.navlink {  list-style: none;  margin: 0;}.navlink a {  color: #343434;  text-decoration: none;  font-size: 1.2em;}.burger {  font-size: 1.2em;  display: none;}@media screen and (max-width: 800px) {  .burger {    display: block;  }  .nav {    margin: 0;    background: #ffffff;    position: absolute;    right: -100%;    top: 70px;    width: 50%;    height: calc(100% - 70px);    flex-direction: column;    justify-content: space-around;    padding: 0;    transition: all 400ms;  }  .navlink {    text-align: center;  }  .nav-active {    right: 0;  }}
查看完整描述

1 回答

?
侃侃爾雅

TA貢獻1801條經驗 獲得超16個贊

問題是您.burger的 HTML 中有多個事件,而您只為第一個事件定義了 Javascript 事件。您可以通過以下方式解決此問題:

const burgers = document.querySelectorAll('.burger i');

for (let burger of burgers) {
    //define your event
}

但這不是最好的方法。您可以做的最好的事情就是重構您的 HTML 并使用單個項目.burger class,但具有更可靠的事件。


查看完整回答
反對 回復 2023-07-20
  • 1 回答
  • 0 關注
  • 201 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號