第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

單擊離開時如何刪除導航欄的“活動”類別?

單擊離開時如何刪除導航欄的“活動”類別?

慕桂英3389331 2023-12-11 15:50:41
我對此有點陌生。我制作了一個導航欄,其中包含一個按鈕,單擊該按鈕可切換“活動”類。我想做到這一點,以便當導航欄打開并單擊時,它會刪除“活動”類。雖然我使用了 eventListener (我對此一無所知,所以我用 Google 搜索)function toggle() {    var navButton = document.querySelector('.nav-btn-container');    navButton.classList.toggle('active')}var navBar = document.querySelector('#nav-bar');navBar.addEventListener('click', function(event){    var isClickInside = navBar.contains(event.target);    if (isClickInside &&         document.querySelector('.nav-btn-container').classList.contains('active')){        document.querySelector('.nav-btn-container').classList.remove('active');    }});在 VS Code 中我沒有收到任何錯誤,但在 Chrome 調試器中我收到以下錯誤:Uncaught TypeError: Cannot read property 'addEventListener' of null在事件函數(shù)中,我使用 document.querySelector('.nav-btn-container') 而不是 navBar,因為如果我將 navBar 聲明移到toggle() 類之外(在第一行),當我單擊按鈕:Uncaught ReferenceError: navButton is not definedHTML:<!DOCTYPE html><html><head>    <script src="script.js"></script>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <link rel="stylesheet" href="style.css">    <title>FCC: Product Landing Page</title></head><body>    <header id="header">        <img src="logo.png" alt="Logo" id="header-img">        <button class="nav-btn-container" onclick="toggle()">            <span class="nav-btn"></span>        </button>        <nav id="nav-bar">             <ul class="nav-list">                 <li class="nav-item"><a href="#features" class="nav- link">Features</a></li>                 <li class="nav-item"><a href="#video" class="nav- link">Unboxing</a></li>                 <li class="nav-item"><a href="#purchase" class="nav- link">Purchase</a></li>                 <li class="nav-item"><a href="#reviews" class="nav- link">Reviews</a></li>            </ul>        </nav>CSS: https: //pastebin.com/Zd7DFCca
查看完整描述

1 回答

?
慕勒3428872

TA貢獻1848條經(jīng)驗 獲得超6個贊

在head標簽中插入此 jquery 參考腳本


<head>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

.

.

.

</head>

需要做的是添加鼠標單擊event,單擊時代碼應檢查單擊是否在容器外部nav,如果為真,active將從容器中刪除:


在您的js腳本文件中,將js您發(fā)布的代碼替換為:


function toggle() {

    var navButton = document.querySelector('.nav-btn-container');

    navButton.classList.toggle('active')

}


$(document).mouseup(function (e) {

    var container = $("header");

    // if the target of the click isn't the container nor a descendant of the container

    if (!container.is(e.target) && container.has(e.target).length === 0) {

        document.querySelector('.nav-btn-container').classList.remove('active');


    }

});


此外,不應將您的放在<script src="script.js"></script>中head,而應該放在 的底部body

https://img1.sycdn.imooc.com/6576c09f00017bb204120162.jpg

查看完整回答
反對 回復 2023-12-11
  • 1 回答
  • 0 關注
  • 177 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號