oxo888oxo: Navigation auf mobilen Geräten ein- und ausklappen

Beitrag lesen

Hier noch ein JavaSCript das ohne jQuery funktioniert, da du dieses ja nicht wolltest. Das Script kommt nicht von mir, funktioniert aber 100%

Ja großartig.
Das funktioniert ja wirklich sehr sehr gut.
Sogar auf meinem lahmen Smartphone fluppt das :)

Du hattest ja in Deinem HTML-Code die Navigation in <div>...</div> gepackt:
<div id="navigation">

Ich habe das inzwischen so umgebaut, dass ich stattdessen <nav>...</nav> verwende.
Bisher habe ich das auch gut hinbekommen.
Dem öffnenden <nav>-Element habe ich noch das hier hinzugefügt: id="navigation".
Wenn ich das entferne, kann anscheinend das Javascript nicht mehr die Navigation "ansprechen".
Kann das sein?

Ist es möglich, das Javascript so anzupassen, dass es das <nav>-Element direkt "anspricht" ohne id?
Und wenn ja, ist das sinnvoll, das so zu machen?

Mein aktueller HTML-Code:

<nav id="navigation">  
  <h3 class="menu-klappen" >  
    <span data-icon="&#8801;" aria-hidden="true"></span>  
    <span class="screen-reader-text">Menü</span>  
  </h3>  
  <ul>  
    <li><a href="/listen/_xx_film-modelle-a.php" class="rubrik">Film und TV Modelle</a></li>  
    <li><a href="/listen/_xx_erotik-modelle-a.php" class="rubrik">Erotik Modelle</a></li>  
    <li><a href="/_xx_search.php?showAll" class="rubrik">Gesamtprogramm</a></li>  
    <li><a href="/_xx_bestellvorgang.php">Bestellvorgang</a></li>  
    <li><a class="aktiv" href="/_xx_versandkosten.php">Versandkosten</a></li>  
    <li><a href="/_xx_bezahlmethoden.php">Bezahl-Methoden</a></li>  
    <li><a href="/_xx_kontakt.php">Kontakt</a></li>  
    <li><a href="/_xx_impressum.php">Impressum</a></li>  
    <li><a href="/_xx_newsletter.php">Newsletter</a></li>  
    <li><a href="/_xx_agb.php">AGB</a></li>  
    <li><a href="/_xx_datenschutz.php">Datenschutz</a></li>  
    <li><a href="/_xx_widerrufsbelehrung.php">Widerrufsbelehrung</a></li>  
  </ul>  
</nav>

Mein aktueller CSS-Code:

nav ul {  
  padding-left: 0;  
}  
  
nav li {  
  list-style: none;  
}  
  
.menu-klappen {  
    display: none;  
}  
  
@media screen and (max-width:880px) {  
  
  /* Button zum Anzeigen des Menüs */  
  .js .menu-klappen {  
    display: block;  
    cursor: pointer;  
    color: #fff;  
    background-color: #313131;  
    width: 2.5rem;  
    height: 2.5rem;  
    text-align: center;  
    line-height: 2.5rem;  
    font-weight: normal;  
  }  
  
  .js nav ul {  
    display: none;  
  }  
  
  nav ul.klappen-on {  
    display: block;  
  }  
  
   nav ul.klappen-on li, .no-js nav li {  
    display: block;  
  }  
  
  [data-icon]:before {  
    content: attr(data-icon);  
    speak: none;  
    display: inline-block;  
    font-size: 200%;  
  }  
  
  .screen-reader-text {  
    position: absolute;  
    top: -9999px;  
    left: -9999px;  
  }  
  
}

Mein aktueller Javascript-Code:

<script>  
( function() {  
//Klasse zu html hinzufügen lassen, die kennzeichnet, dass JavaScript aktiviert ist  
document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js ';  
function naviklapp(navid) {  
//Elemente definieren: Navigationselement, Button, Menü  
var nav = document.getElementById( navid );  
var button;  
var menu;  
//Wenn keine Navigation, dann nichts tun  
if ( ! nav )  
return;  
//der Button ist das erste h3-Element innerhalb der Navigation  
button = nav.getElementsByTagName( 'h3' )[0];  
  
// die erste ungeordnete Liste in der Navigation ist das Menü  
menu = nav.getElementsByTagName( 'ul' )[0];  
if ( ! button )  
return;  
  
if ( ! menu || ! menu.childNodes.length ) {  
button.style.display = 'none';  
return;  
}  
button.onclick = function() {  
  
if ( -1 != button.className.indexOf( 'klappen-on' ) ) {  
button.className = button.className.replace( ' klappen-on', '' );  
menu.className = menu.className.replace( ' klappen-on', '' );  
} else {  
button.className += ' klappen-on';  
menu.className += ' klappen-on';  
}  
};  
}  
naviklapp('navigation');  
  
} )();;  
</script>
0 109

Navigation auf mobilen Geräten ein- und ausklappen

oxo888oxo
  • javascript
  1. 1
    Martin_Online
    1. 1
      Gunnar Bittersmann
      1. 1
        oxo888oxo
      2. 0
        oxo888oxo
    2. 0
      oxo888oxo
      1. 1
        Gunnar Bittersmann
        1. 0
          oxo888oxo
    3. 0

      Wohin mit dem Javascript im HTML Code?

      oxo888oxo
      1. 1
        Martin_Online
        1. 1

          Nachtrag

          Martin_Online
          • html
          1. 1

            Deine Seite auf dem Handy

            Martin_Online
            1. 0
              oxo888oxo
          2. 0
            oxo888oxo
        2. 0
          oxo888oxo
          1. 1

            JS Script im Kopf oder Fuß Bereich?

            Martin_Online
            1. 1
              Auge
            2. 0
              oxo888oxo
              1. 1
                Auge
                1. 0
                  oxo888oxo
                  1. 1
                    Auge
                    1. 0
                      oxo888oxo
                    2. 0

                      Funktioniert doch noch nicht mit Script im head

                      oxo888oxo
                      1. 1
                        Martin_Online
                        1. 0
                          oxo888oxo
                          1. 1
                            Martin_Online
                            1. 1

                              Nachtrag: Android Browser

                              Martin_Online
                              1. 0
                                oxo888oxo
                                1. 1
                                  Martin_Online
                                  • css
                                  1. 0
                                    oxo888oxo
                              2. 1
                                Gunnar Bittersmann
                                1. 0

                                  Gunnar spricht in fremden Zungen

                                  Auge
                                  • menschelei
                        2. 1
                          Auge
                          1. 0

                            Habe ich Hinweis auf Fehler im Script richtig verstanden?

                            oxo888oxo
                            1. 1
                              Auge
                              1. 0
                                oxo888oxo
                                1. 1
                                  Auge
                                2. 1
                                  Martin_Online
                                  1. 0
                                    oxo888oxo
                                    1. 1

                                      An die JS Speziallisten

                                      Martin_Online
                                      1. 0
                                        oxo888oxo
                                        1. 1
                                          Martin_Online
                                        2. 1

                                          Fehler gefunden

                                          Martin_Online
                                          1. 0
                                            oxo888oxo
                                            1. 1
                                              Martin_Online
                                              1. 1
                                                Gunnar Bittersmann
                                                1. 1
                                                  Martin_Online
                                                  1. 1
                                                    Gunnar Bittersmann
                                                  2. 0
                                                    oxo888oxo
                                                    1. 1
                                                      Martin_Online
                                                      1. 0
                                                        oxo888oxo
                                                        1. 1
                                                          Martin_Online
                                                          1. 0
                                                            oxo888oxo
                                                          2. 0

                                                            Aktuelle Version ohne <html class="no-js">

                                                            oxo888oxo
                                                            1. 0
                                                              Martin_Online
                                                              1. 0
                                                                oxo888oxo
                                                              2. 0
                                                                oxo888oxo
                                                              3. 0

                                                                CSS-Code für Mobile-First umbauen

                                                                oxo888oxo
                                                                1. 0
                                                                  Martin_Online
                                                                  1. 0
                                                                    oxo888oxo
                                                                    1. 0
                                                                      Martin_Online
                                                                      1. 0
                                                                        oxo888oxo
                                                                        1. 0
                                                                          Martin_Online
                                                                          1. 0
                                                                            oxo888oxo
                                                                            1. 0
                                                                              Martin_Online
                                                                              1. 0
                                                                                oxo888oxo
                                                                                1. 0
                                                                                  Martin_Online
                                                                                  1. 0
                                                                                    oxo888oxo
                                                                                    1. 0
                                                                                      Martin_Online
                                                                                      1. 0
                                                                                        oxo888oxo
                                                                                        1. 0
                                                                                          Martin_Online
                                                                                          1. 0
                                                                                            oxo888oxo
                                                                                            1. 0
                                                                                              Gunnar Bittersmann
                                                                                            2. 0
                                                                                              Martin_Online
                                                                                              1. 0
                                                                                                oxo888oxo
                                                                                              2. 0
                                                                                                Gunnar Bittersmann
                                                                                              3. 0
                                                                                                Gunnar Bittersmann
                                                        2. 1
                                                          molily
                                                2. 0

                                                  Also JS doch lieber unten einbinden, ja?

                                                  oxo888oxo
                                          2. 1
                                            molily
                                            1. 0
                                              oxo888oxo
            3. 1
              molily
              1. 0
                oxo888oxo
                1. 1
                  Gunnar Bittersmann
          2. 1
            molily
            1. 0
              oxo888oxo
        3. 0
          oxo888oxo
    4. 0

      Ich schaffe es einfach nicht ... schnieef :)

      oxo888oxo
      1. 0
        Martin_Online
        1. 0
          oxo888oxo
          1. 0
            Martin_Online
            1. 0
              oxo888oxo
              1. 0
                Matthias Apsel
                1. 0
                  oxo888oxo
                  1. 0
                    Matthias Apsel
    5. 0

      Ich bekomme es nicht hin ... muss wohl echt aufgeben nun.

      oxo888oxo
    6. 0
      oxo888oxo
  2. 3

    Bitte nicht ständig neue Threads zur gleichen Grundthematik

    ChrisB
    • zu diesem forum
    1. 0
      oxo888oxo
    2. 0
      oxo888oxo
      1. 1
        Martin_Online
        1. 0
          oxo888oxo
        2. 0
          oxo888oxo
          1. 1
            Martin_Online
            1. 1
              oxo888oxo
      2. 3

        Bitte nicht ständig neue Threads, Begründung

        Auge
        1. 0
          oxo888oxo
  3. 1
    Gunnar Bittersmann
    1. 1
      Gunnar Bittersmann