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

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

Javascript Remove Class for Specific Sc??reen Size

Javascript Remove Class for Specific Sc??reen Size

犯罪嫌疑人X 2023-03-24 16:02:37
所以我寫了一個函數(shù),highlight每當我點擊一個特定的菜單項時添加一個類,highlight如果我點擊另一個菜單項則刪除該類我的問題是,當我將屏幕縮小到移動視圖時,該類highlight仍然適用,我不知道如何防止它出現(xiàn)?我使用了 window.innerWidth 但當我縮小屏幕時它似乎不起作用      const menu = document.querySelector('#mobile-menu');      const menuLinks = document.querySelector('.navbar__menu');      const activeMenu = e => {        const elem = document.querySelector('.highlight');         // adds 'highlight' class to my menu item here        if (window.innerWidth > 768) {          e.target.className = 'navbar__links highlight';        }                  // it doesn't remove the class 'highlight' when I shrink my screen        // this only removes the 'highlight' class if I click on a different menu item        if (elem || window.innerWidth < 768) {          elem.classList.remove('highlight');        }      };      menuLinks.addEventListener('click', activeMenu); // Tried to add resize event, but this didn't work, so not sure how  to write it       const removeActiveMenu = () => {        const elem = document.querySelector('.highlight');        if (window.innerWidth < 768) {          elem.classList.remove('highlight');        }      };      menuLinks.addEventListener('resize', removeActiveMenu);有誰知道如何防止我的highlight班級出現(xiàn)在 768 像素以下的屏幕尺寸上?我試圖在下面添加一個調(diào)整大小事件,但沒有成功,所以不確定我應該如何實現(xiàn)它?這是 HTML  // Realized my Logo isn't highlighting the home nav when I click it   <a href="#home" id="navbar__logo">COLOR</a>    <div class="navbar__toggle" id="mobile-menu">      <span class="bar"></span> <span class="bar"></span>      <span class="bar"></span>    </div>   <ul class="navbar__menu">      <li class="navbar__item">        <a href="#home" class="navbar__links" id="homePage">Home</a>      </li>      <li class="navbar__item">        <a href="#about" class="navbar__links" id="about-us">About  Us</a>      </li>      <li class="navbar__item">        <a href="#services" class="navbar__links"  id="service">Services</a>
查看完整描述

2 回答

?
收到一只叮咚

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

您可以使用querySelectorAllalong withforEach來獲取所有內(nèi)容.navbar__links并在您將其放入視圖highlight中時從它們中刪除類。resizewindowmobile


您的代碼也在生成控制臺errors,因為您試圖remove從element單擊菜單項時不存在的類進行分類,并且window < 768


//Remove class from others when click on li

  if (elem && window.innerWidth < 768 || elem) {

    elem.classList.remove('highlight');

  }

在調(diào)整大小功能上使用此代碼:


//on resize

window.addEventListener('resize', function(event) {

  const links = document.querySelectorAll('.navbar__links');

  links.forEach(function(x) {

    if (window.innerWidth < 768) {

      x.classList.remove('highlight'); //remove highlught class

    }

  })

});

我已經(jīng)修復了你的問題code并且正在按預期工作。


現(xiàn)場演示:


const menu = document.querySelector('#mobile-menu');

const menuLinks = document.querySelector('.navbar__menu');


const activeMenu = e => {

  const elem = document.querySelector('.highlight');


  // adds 'highlight' class to my menu item here

  if (window.innerWidth > 768) {

    e.target.classList.add('highlight');

  }


  //Remove class from others when click on li

  if (elem && window.innerWidth < 768 || elem) {

    elem.classList.remove('highlight');

  }

};


//Click event on li

menuLinks.addEventListener('click', activeMenu);


//on resize

window.addEventListener('resize', function(event) {

  const links = document.querySelectorAll('.navbar__links');

  links.forEach(function(x) {

    if (window.innerWidth < 768) {

      x.classList.remove('highlight'); //remove highlught class

    }

  })

});

.highlight {

  background: red;

}

<ul class="navbar__menu">

  <li class="navbar__item">

    <a href="#home" class="navbar__links" id="homePage">Home</a>

  </li>

  <li class="navbar__item">

    <a href="#about" class="navbar__links" id="about-us">About

        Us</a>

  </li>

  <li class="navbar__item">

    <a href="#services" class="navbar__links" id="service">Services</a>

  </li>

  <li class="navbar__btn">

    <a href="#sign-up" class="button navbar__links" id="signup">Sign Up</a>

  </li>

</ul>


查看完整回答
反對 回復 2023-03-24
?
米脂

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

解決方案:


function activeMenu(e) {

    let links = document.querySelectorAll('.navbar__links');

    if (window.innerWidth > 768) {

       links.forEach(link => {

           link.classList.remove("highlight");

       })

       e.classList.add("highlight");

    } else {

        e.classList.remove("highlight");

    }

}

.highlight {color:red !important}

<div id="mobile-menu">#mobile-menu</div>

<div class="navbar__menu">

    <div onclick="activeMenu(this)" class="navbar__links">navbar__links</div>

    <div onclick="activeMenu(this)" class="navbar__links">navbar__links</div>

    <div onclick="activeMenu(this)" class="navbar__links">navbar__links</div>

</div>


查看完整回答
反對 回復 2023-03-24
  • 2 回答
  • 0 關注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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