Gunnar Bittersmann: Icon Flyout / slidern ähnlich wie bei meiner Navigation

Beitrag lesen

@@Rolf B

Da gibt’s noch einiges Verbesserungspotential:

	const toggle = document.querySelector('#' + toggleId);

Besser

	const toggle = document.querySelector(`#${toggleId}`);

Aber wohl noch besser:

	const toggle = document.getElementById(toggleId);

	toggle.addEventListener('click', function() {

Ich würde sowas als Pfeilfunktion schreiben. Muss man aber nicht.


		const currentState = toggle.getAttribute('aria-expanded');
		const newState = currentState === 'true' ? 'false' : 'true';
		toggle.setAttribute('aria-expanded', newState);
		const isExpanded = toggle.getAttribute('aria-expanded') === 'true';

Den aktuellen Ausgangszustand hast du bereits mit currentState abgefragt. Du kennst also den Folgezustand. Die erneute Abfrage des aktuellen Zustands macht keinen Sinn.

Sorge also dafür, dass du isExpanded gleich bei der ersten Abfrage von toggle.getAttribute('aria-expanded') setzt und verwende das auch schon bei toggle.setAttribute().


		menu.style.display = isExpanded ? 'block' : 'none';

Hier besser das hidden-Attribut verwenden. Das macht den Code besser lesbar, außerdem ist die Änderung im DOM im Inspektor im Entwicklertool sichtbar.

		menu.hidden = !isExpanded;

Jolan tru

--
Wenn der Faschismus wiederkehrt, wird er nicht sagen „Hallo, ich bin der Faschismus.“ Er wird sagen: „Ich suche in diesem Deutschen Bundestag keine anderen Mehrheiten als die in der demokratischen Mitte. Wenn es heute eine solche Mehrheit gegeben hat, bedauere ich das.“ (Friedrich Merz)
0 64

Icon Flyout / slidern ähnlich wie bei meiner Navigation

einsiedler
  • css
  • html
  • meinung
  1. 0
    Rolf B
    1. 0
      einsiedler
      1. 0
        Rolf B
        1. 2
          Gunnar Bittersmann
          • javascript
        2. 0
          einsiedler
          1. 1
            Rolf B
            1. 0
              einsiedler
              1. 1
                Rolf B
                1. 0
                  einsiedler
                  1. 0
                    Rolf B
                    1. 0
                      einsiedler
                      1. 0
                        Rolf B
              2. 1
                Gunnar Bittersmann
                • html
                1. 0
                  einsiedler
            2. 0
              einsiedler
              1. 0
                einsiedler
            3. 0
              einsiedler
              1. 0
                Rolf B
                1. 0
                  einsiedler
                  1. 0
                    Rolf B
                    1. 0
                      einsiedler
                      1. 0
                        Rolf B
                        1. 1
                          Gunnar Bittersmann
                          • javascript
                          1. 2
                            Rolf B
                            1. 1
                              Gunnar Bittersmann
                              1. 0
                                einsiedler
                                1. 0
                                  einsiedler
                                  1. 1
                                    Rolf B
                                    1. 0
                                      einsiedler
                                      1. 0
                                        Rolf B
                                      2. 1
                                        Rolf B
                                        1. 0
                                          einsiedler
                                          1. 0
                                            Rolf B
                                            1. 0
                                              Gunnar Bittersmann
                                              • css
                                              • javascript
                                              1. 1
                                                Rolf B
                                                1. 1
                                                  Gunnar Bittersmann
                                                  • html
                                                  • javascript
                                                  1. 0
                                                    einsiedler
                                                    1. 0
                                                      Gunnar Bittersmann
                                                      • javascript
                                                      1. 0
                                                        einsiedler
                                                        1. 1
                                                          Auge
                                                          • browser
                                                          • css
                                                          • editor
                                                          1. 0
                                                            Gunnar Bittersmann
                                                            1. 0
                                                              Auge
                                                              1. 0
                                                                JürgenB
                                                                1. 0
                                                                  Auge
                                                                  1. 0
                                                                    JürgenB
                                                              2. 0
                                                                Gunnar Bittersmann
                                                                • browser
                                                                • css
                                                          2. 0
                                                            einsiedler
                                                            1. 1
                                                              Auge
                                                              • css
                                                              • editor
                                                              1. 0

                                                                Lighting vs. Lightning

                                                                Der Martin
                                                                • rechtschreibung
                                          2. 0
                                            Nico R.
                                            1. 0
                                              Rolf B
                                            2. 0
                                              einsiedler
                                              1. 0
                                                Nico R.
      2. 1
        Rolf B
      3. 0
        Ryuno-Ki
        1. 0
          Gunnar Bittersmann
          • html
          1. 0
            Ryuno-Ki
            1. 0
              Rolf B
              1. 0
                Gunnar Bittersmann
                1. 0
                  Matthias Scharwies
                  • html
                  • spiel
                  1. 0
                    Gunnar Bittersmann
                2. 0
                  Rolf B
                  1. 0
                    Gunnar Bittersmann
                    • internationalisierung
                    • sprache