zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Javascript & Ajax
Seite neu laden .mouseleave/ .mouseout - Problem

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 29.10.2018, 12:15
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 26.10.2018
Beiträge: 25
KATERchen befindet sich auf einem aufstrebenden Ast
Standard .mouseleave/ .mouseout - Problem

Hallo,
ich habe eine kleine Navigation mit einem PullDown-Menü. (übrigens mein ersten jQuery, daher wirklich simpel). Jetzt wollte ich erreichen, dass beim Verlassen des Menüs dieses wieder "eingefahren" wird. Ich habe es mit mouseleave und mouseout versucht, aber es klappt nicht.
Kann mir wer sagen, wo der Fehler liegt?

HTML-Code:
<div id="hd_naviOben">
  <ul class="hd_naviObenListe">
	<li id="hd_nOL1">Verkauf
	  <ul id="hd_nOL_show1">
		<li class="hd_nOL_but"></li>
		<li class="hd_nOL_but"></li>
		<li class="hd_nOL_but"></li>
		<li class="hd_nOL_but"></li>
		<li class="hd_nOL_but"></li>
	  </ul>
	</li>
	<li id="hd_nOL2">Infos
	  <ul id="hd_nOL_show2">
		<li class="hd_nOL_but"></li>
		<li class="hd_nOL_but"></li>
		<li class="hd_nOL_but"></li>
		<li class="hd_nOL_but"></li>
		<li class="hd_nOL_but"></li>
	  </ul>
	</li>
	  <li id="hd_nOL3">Ausstellungen</li>
  </ul>
</div>
Code:
$(document).ready(function(){
    $('#hd_nOL1').click(function(){
    	$('#hd_nOL_show1').toggle(150);
        $('#hd_nOL_show2').hide(150);
    })
    $('#hd_nOL2').click(function(){
    	$('#hd_nOL_show2').toggle(150);
        $('#hd_nOL_show1').hide(150);
    })
    $('#hd_naviOben').mouseleave(function(){
    	$('hd_nOL_show1, hd_nOL_show2').hide(150);
    })
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 29.10.2018, 12:24
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 30.01.2014
Beiträge: 1.980
cloned ist jedem bekanntcloned ist jedem bekanntcloned ist jedem bekanntcloned ist jedem bekanntcloned ist jedem bekanntcloned ist jedem bekannt
Standard

$('hd_nOL_show1, hd_nOL_show2').hide(150); <-- hier fehlt dir zumindest einmal das # bzw . Zeichen.
So wie es hier steht blendest du alle Elemente <hd_nOL_show1> </hd_nOL_show1> und <hd_nOL-show2> </hd_nOL-show2> aus. Du möchtest aber Elemente mit der ID ansprechen.

Kleiner Hinweis noch:
Gewöhne dir doch gleich zu Beginn an, die .on Funktion von jQuery zu verwenden.
Also zB statt $(...).click ist es besser $(...).on('click', function() {[...]} ), bzw. $(...).on('mouseleave', function() {[...]}); etc. zu schreiben. Der Vorteil davon ist, dass du auch mehrere Events kombinieren kannst, also zB $(...).on('click mouseleave', function() {[...]})
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 29.10.2018, 12:31
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 26.10.2018
Beiträge: 25
KATERchen befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von cloned Beitrag anzeigen
$('hd_nOL_show1, hd_nOL_show2').hide(150); <-- hier fehlt dir zumindest einmal das # bzw . Zeichen.
Autsch... okay, so viel Wissen habe ich eigentlich schon. Hab x-mal nach fehlenden Kommas und Punkten und auch # gesucht, aber da ist es mir nicht aufgefallen. Danke

Das mit dem .on werde ich mir merken, auch hier danke
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit margin-left Shyne CSS 7 03.03.2008 18:02
Font der Überschrift ändern (Problem) artist CSS 2 07.12.2007 10:01
Design zu CSS/HTML verarbeiten - Problem häufen sich. Grafikamateur CSS 2 06.08.2007 09:57
Problem bei Div's - zwei mal das gleiche und doch nicht ... Niriel CSS 10 09.06.2005 17:39
Problem mit einem CSS Layout nARC CSS 20 21.05.2005 06:28


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:54 Uhr.