• Hallo!


    Auf der folgenden Website (noch im Bau) haben die Menüpunkte «Coaching» und «Kontakt» Unternavigationen. Es ist korrekt, dass sich die Unternavigation öffnet beim Draufklicken.

    Dem Navigationspunkt ist aber auch ein Link hinterlegt (im Fall von Coaching > coaching.html) und beim Klick sollte sich die Seite «Coaching» öffnen.


    http://www.abcoaching.ch/html



    Wo liegt der Fehler, dass dies nicht passiert? Ich komme einfach nicht drauf!


    Bin dankbar, wenn mir jemand auf die Sprünge helfen kann.


    Gruss Monika

  • Das ist im Javascript so ausprogrammiert, und zwar hier:

    Code
      if($(this).closest('li').find('ul').children().length == 0) {
        return true;
      } else {
        return false;    
      }

    Hat das li-Element, in dem das geklickte a-Element liegt, ein Untermenü, wird die Funktion mit false verlassen. Das bewirkt, dass die Standardaktion des Klick, in diesem Fall das Ansteuern des Link, unterdrückt wird.

    Abhilfe einfach, indem Du diesen Code durch "return true" ersetzt. Dann wirst Du aber mit einem weiteren Problem konfrontiert, denn dadurch, dass eine neue Seite geladen wird, ist das Untermenü wieder geschlossen. Abhilfe dafür: Auf der Seite coaching.html das Untermenü öffnen:

    Code
    $(".item-03 > ul").slideDown("normal");
    $(".item-03").addClass("active");
  • Vielen herzlichen Dank.

    Ich habe versucht den Code bei Coaching und beim Kontakt (grün) einzubauen, aber es scheint noch nicht ganz zu funktionieren.

    Wäre toll, wenn du mir nochmal helfen könntest! Kenne mich mit Java wirklich schlecht aus.


    Ausserdem wüsste ich gerne, ob ich in der selben Codezeile auch mehr als ein «item» ansprechen kann, da andere Navigationen auch Unternavigationen haben?


    Beste Grüsse, Monika

  • Zitat

    es scheint noch nicht ganz zu funktionieren.

    Das hätte ich erwähnen sollen: Du musst den zweiten Codeabschnitt, den auf coaching.html, an das Ende des body legen. Steht er im head, so sind die angesprochenen Elemente noch nicht definiert.

    Zitat

    Ausserdem wüsste ich gerne, ob ich in der selben Codezeile auch mehr als ein «item» ansprechen kann, da andere Navigationen auch Unternavigationen haben?

    Du musst in den beiden Codezeilen immer genau ein item ansprechen und zwar das der betr. Unterseite. Bei coaching.html ist das .item-03. Bei kontakt.html, wo es ebenfalls Unterseiten gibt, musst Du .item-07 verwenden.

  • mal ne frage zwischen durch ,,,habe schon öffters scripte gesehen oder schnipsel von scripten wo dieses jquery vorkommt ...weenn ich die benutzen will kommt immer das $ ist nicht definiert und wenn ich es weg lasse geht es auch nicht ... we kriege ich diese scripte zum laufen bzw code schnipsel für userscripte

  • danke dir ...

    achso jetzt schecke ich es ,dann geht das bei mootools oder wie das heist genau so sehe ich das richtig?? oder verwechsel ich da jetzt was ...


    achso das einbinden bei userscripte geht so

    Code
    // @require          https://code.jquery.com/jquery-3.2.1.min.js

    fals das maleiner brauchzumindest kenne ich keine andere lösung bei userscripte

  • Das benutzt jQuery-UI, das musst Du dann zusätzlich einbinden:

    Code
        <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
        <script src="//code.jquery.com/jquery-1.10.2.js"></script>
        <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
  • Das hätte ich erwähnen sollen: Du musst den zweiten Codeabschnitt, den auf coaching.html, an das Ende des body legen. Steht er im head, so sind die angesprochenen Elemente noch nicht definiert.

    Du musst in den beiden Codezeilen immer genau ein item ansprechen und zwar das der betr. Unterseite. Bei coaching.html ist das .item-03. Bei kontakt.html, wo es ebenfalls Unterseiten gibt, musst Du .item-07 verwenden.

    Vielen herzlichen Dank für deine Hilfe.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!