tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
983
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    vendy vendy ist offline Mitglied Bronze
    Registriert seit
    Apr 2004
    Beiträge
    28
    Hallo,

    ich habe ein Problem bei einem Dropdownmenü. In der horizontalen Navigation wird bei :hover über den jeweiligen Link das Submenü sichtbar. Zusätzlich hat der jeweilige Link ein anderes Hintergrundbild beim :hover. Wenn man jetzt mit der Maus auf das Submenü fährt soll der jeweilige Link die Klasse "active" bekommen damit das Hintergrundbild nicht verschwindet.

    Momentan bekommen allerdings alle Links die Klasse "active". Es soll jedoch nur der submenüspezifische Link sein. Siehe: http://www.kinder-aktuell.de/v2/

    Der HTML Code
    HTML-Code:
    <ul id="navigation">
                    <li class="schwangerschaft">
                    	<a href="#" title="">Basteln</a>
                         <ul id="dd-schwangerschaft" class="sub">
                        	<li class="first"><a href="#" title="">Einladungskarten</a></li>
                            <li><a href="#" title="">Kinderspiele</a></li>
                            <li><a href="#" title="">Kindergeburtstag</a></li>
                            <li><a href="#" title="">Gesundheit</a></li>
                            <li><a href="#" title="">Kinderlieder</a></li>
                            <li class="last"><a href="#" title="">Sonstiges</a></li>
                        </ul>
    
                    </li>
                ....
                    
          </ul>

    Mein bisheriges JS
    Code :
    1
    2
    3
    4
    
    jQuery('ul.sub').hover(function() {
            jQuery('ul#navigation li a').addClass('active'); }, 
            function() { jQuery('ul#navigation li a').removeClass('active');
        });

    Kann mir da jemand weiterhefen?
     

  2. #2
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Moin vendy,

    so sollte es gehen:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    jQuery('ul#navigation li a').hover(
      function() 
            { 
              jQuery('ul#navigation li a').removeClass('active');
              jQuery(this).addClass('active'); 
          }
            
        );
     

  3. #3
    vendy vendy ist offline Mitglied Bronze
    Registriert seit
    Apr 2004
    Beiträge
    28
    Danke! Hatte es allerdings zeitlgleich anders gelöst. Blöderweise habe ich noch ein weiteres Problem. Bei :hover soll bei dem entsprechenden Link die Klasse "current" entfernt werden damit das Dropdownmenü einwandfrei angezeigt werden kann. Danach soll die Klasse "current" wieder hinzugefügt werden. Das funktioniert bisher nur so halb. Wenn man mit der Maus über das Dropdownmenu fährt blitzt die Klasse "current" immer mal wieder auf. Wie kann ich den :hover auch auf die UL ausweiten? Siehe This is kinder-aktuell.de

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    // Navigation
        jQuery('ul#navigation li a').hover(function() {
            jQuery('ul#navigation a.current').removeClass("current").addClass("nothing");
            }, 
            function() {
                jQuery('ul#navigation a.nothing').addClass("current").removeClass("nothing");
        });
                                                     
        jQuery('ul.sub').hover(function() {
            jQuery(this).prevAll().addClass("active") }, 
            function() { jQuery(this).prevAll().removeClass('active');
        });
     

  4. #4
    vendy vendy ist offline Mitglied Bronze
    Registriert seit
    Apr 2004
    Beiträge
    28
    Habe es jetzt hinbekommen. Bin nicht so der Js-Checker, kann man da noch Sachen vereinfachen/zusammenfassen?

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    // Navigation
        jQuery('ul#navigation li a.firstlevel').hover(function() {
            jQuery('ul#navigation a.current').removeClass("current").addClass("nothing");
        }, function() {
                
                jQuery('ul#navigation a.nothing').addClass("current").removeClass("nothing");
                
                jQuery('ul.sub').hover(function() {
                    jQuery(this).prevAll().addClass("active");
                    jQuery('ul#navigation a.current').removeClass("current").addClass("nothing");
                }, function() {
                    jQuery(this).prevAll().removeClass('active');
                    jQuery('ul#navigation a.nothing').addClass("current").removeClass("nothing");
                });
     
        });
     

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 11.04.10, 18:24
  2. Event+Daten von Klasse "B" zu Kasse "A" übertragen
    Von Katerchen im Forum .NET Café
    Antworten: 1
    Letzter Beitrag: 14.11.08, 11:04
  3. Antworten: 1
    Letzter Beitrag: 10.09.07, 23:14
  4. "active" Menubutton über Seitentitel
    Von lordimac im Forum PHP
    Antworten: 4
    Letzter Beitrag: 04.11.04, 22:58
  5. a:active & onfocus="this.blur();"
    Von Tribalman im Forum CSS
    Antworten: 15
    Letzter Beitrag: 17.02.02, 00:11