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

question-closed Menu accordion Javascript

42 Warsaw Coding Academy
+1 głos
232 wizyt
pytanie zadane 10 stycznia 2021 w JavaScript przez niezalogowany
zamknięte 11 stycznia 2021

Witam stworzyłem menu typu accordion po kliknięciu rozwija się każdy element. Co muszę poprawić żeby jeden element się otwierał a inny zamykał.

 

const dropdown = document.getElementsByClassName('drop');

for (let i = 0; i < dropdown.length; i++) {
	dropdown[i].addEventListener('click', (e) => {
		let panel = e.target.nextElementSibling;
		panel.classList.toggle('open');
	});
}	

 

komentarz zamknięcia: Znaleziono rozwiązanie

2 odpowiedzi

0 głosów
odpowiedź 10 stycznia 2021 przez VBService Ekspert (256,600 p.)
wybrane 11 stycznia 2021
 
Najlepsza

Moja propozycja "przebudowy" Twojego kodu wink Codepen

const dropdowns = document.querySelectorAll('.drop');
const dropdowns_length = dropdowns.length;

dropdowns.forEach(dropdown => {
  dropdown.addEventListener('click', e => {
    const panel = e.target.nextElementSibling;
    for (let i=0; i<dropdowns_length; ++i) {
      if (dropdowns[i].nextElementSibling != panel)
        dropdowns[i].nextElementSibling.classList.remove('open');
    }    
    panel.classList.toggle('open');
  })
})

 

P.S. Tego typu menu, można "zrobić" bez użycia js-a. wink
        9 CSS Accordion Menus

komentarz 11 stycznia 2021 przez niezalogowany

@VBService dziękuję yes

+3 głosów
odpowiedź 10 stycznia 2021 przez pablop76 VIP (123,540 p.)
Zrób pętle po elementach z klasą open i usuń ją (o ile ona istnieje)  i dopiero dodaj nową.

Podobne pytania

0 głosów
1 odpowiedź 240 wizyt
pytanie zadane 20 czerwca 2020 w JavaScript przez niezalogowany
+1 głos
1 odpowiedź 244 wizyt
+1 głos
2 odpowiedzi 273 wizyt
pytanie zadane 4 lipca 2021 w JavaScript przez tirex Gaduła (4,430 p.)

93,377 zapytań

142,379 odpowiedzi

322,528 komentarzy

62,727 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...