• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Zamiana ikon

Cloud VPS
0 głosów
124 wizyt
pytanie zadane 9 listopada 2023 w JavaScript przez niezalogowany
zamknięte 9 listopada 2023

Witam mam pytanie czy mozna kod napisaac lepiej, krócej?

<script>
            const getBtn = document.querySelector('.navbar-toggler');
            const getIcon = document.querySelector('.ri-menu-line');

            changeIcon = () => {
                if(getIcon.classList.contains('ri-menu-line')) {
                    getIcon.classList.remove('ri-menu-line');
                    getIcon.classList.add('ri-close-line');
                } else {
                    getIcon.classList.remove('ri-close-line');
                    getIcon.classList.add('ri-menu-line');
                }
            };

            getBtn.addEventListener('click', changeIcon);
        </script>

 

komentarz zamknięcia: Znaleziono rozwiązanie

1 odpowiedź

0 głosów
odpowiedź 9 listopada 2023 przez VBService Ekspert (256,600 p.)
wybrane 9 listopada 2023
 
Najlepsza

Próbowałeś użyć toggle

[ kod on-line ]

<style>
  button {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .25rem;
  }
  button span {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: .25rem;
  }
  .ri-menu-line {
    background-image: url('https://picsum.photos/20/20?random=1');
  }
  .ri-close-line {
    background-image: url('https://picsum.photos/20/20?random=2');
  }
</style>

<button class="navbar-toggler"><span class="ri-menu-line"></span>Menu</button>

<script>
  const getBtn = document.querySelector('.navbar-toggler');
  const getIcon = document.querySelector('.ri-menu-line');

  changeIcon = () => {
    getIcon.classList.toggle('ri-menu-line');
    getIcon.classList.toggle('ri-close-line');
  };

  getBtn.addEventListener('click', changeIcon);  
</script>

lub

[ kod on-line ]

<style>
  button {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .25rem;
  }
  button span {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: .25rem;
    background-image: url('https://picsum.photos/20/20?random=1');
  }
  .ri-close-line {
    background-image: url('https://picsum.photos/20/20?random=2');
  }
</style>

<button class="navbar-toggler"><span></span>Menu</button>

<script>
  const getBtn = document.querySelector('.navbar-toggler');
  const getIcon = getBtn.querySelector('span');

  changeIcon = () => {
    getIcon.classList.toggle('ri-close-line');
  };

  getBtn.addEventListener('click', changeIcon);  
</script>

lub

[ kod on-line ]

<style>
  button {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .25rem;
  }
  button span {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: .25rem;
    background-image: url('https://picsum.photos/20/20?random=1');
  }
  button.ri-close-line span {
    background-image: url('https://picsum.photos/20/20?random=2');
  }
</style>

<button class="navbar-toggler"><span></span>Menu</button>

<script>
  const getBtn = document.querySelector('.navbar-toggler');
  getBtn.addEventListener('click', function() { this.classList.toggle('ri-close-line'); });  
</script>

 

1
komentarz 9 listopada 2023 przez niezalogowany
Zapomniałem o toggle. Dziękuję za przypomnienie.

Podobne pytania

0 głosów
3 odpowiedzi 370 wizyt
pytanie zadane 2 kwietnia 2019 w JavaScript przez VLeniowy Nowicjusz (190 p.)
0 głosów
1 odpowiedź 1,035 wizyt
pytanie zadane 31 października 2017 w JavaScript przez cyberDEV Użytkownik (780 p.)
0 głosów
1 odpowiedź 2,167 wizyt
pytanie zadane 18 lipca 2017 w JavaScript przez Alterwar Dyskutant (7,650 p.)

93,463 zapytań

142,459 odpowiedzi

322,729 komentarzy

62,842 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...