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

Beitrag lesen

Hallo

Es geht um die Navifation meiner Webseite auf mobilen Geräten.
Ich versuche eine möglichst einfache und unkomplizierte Lösung zu finden.

Erreichen möchte ich gerne, dass die Navigation auf mobilen Geräten per Link ein und ausgeklappt werden kann.

Das hier ist die Seite ohne Ein-und-Ausklapp-Funktion:
http://spaceart.de/_xxxx_versandkosten.php
Da wird bei schmalen Viewport die Navigation einfach nach oben verrschoben.
Das ist aber nicht so sehr schön finde ich, weil der User von meiner Seite dann ja erstmal immer nur die Navigation vor der Nase hat.

Ich habe da nun mal folgendes gebastelt.
Das ist übrigens nicht auf meinem eigenen Mist gewachsen, sondern ich habe es irgenwie herbeigegoogelt.
http://spaceart.de/_xxxx_versandkosten-2.php

<script language="JavaScript">  
  function div_change() {  
    for (i = 0; i < div_change.arguments.length; i++) {  
      var _id = div_change.arguments[i];  
      document.getElementById(_id).style.display = (document.getElementById(_id).style.display == 'none' ) ? 'block' : 'none';  
    }  
  }  
</script>  
  
<a href="javascript:/" onClick="div_change('klappen')">Navigation</a><br>  
<nav id="klappen" style="display: none;">  
  <a href="#">Kategorie 1</a><br>  
  <a href="#">Kategorie 2</a><br>  
  <a href="#">Kategorie 3</a><br>  
  <a href="#">Kategorie 4</a><br>  
  <a href="#">Kategorie 5</a><br>  
</nav>

Das scheint doch schon mal sehr gut zu funktionieren.
Ich hatte mir jetzt folgendes weiter überlegt.
Per Media Queries dafür sorgen, dass für das <nav>-Element je nach Viewport das voreingestellte display-Attribut auf "none" bzw. "block" steht.
Den Navigation-Link würde ich dann natürlich auch per Media Queries ein- bzw. ausblenden.

Das hätte doch den schönen Vorteil, dass ich nicht 2 Navigationen in meinen Code einfügen muss.
Und es läuft selbst auf meinem recht schwachbrüstigen alten Handy super.

Ein Problem sehe ich nun noch.
Bei deaktiviertem Javascript gibts kein Menü.
Das ist natürlich nicht so schön.
Könnte man das irgendwie raffiniert lösen?
Also so, dass bei deaktiviertem Javascriopt die Navigation grundsätzlich eingeblenet ist.

Was haltet Ihr denn von dieser Lösung?
Ist das OK so im Großen und Ganzen?
Oder vergesse/übersehe ich da was wesentliches bzw. mache einen dummen Denkfehler?

Gruß
Ingo

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