Jquery: If hover mache "das", wen nicht mehr hover dan "das"

5 Antworten

du könntest beim ausführen das jeweilige click event überschreiben , somit ist es auch nur einmal wirksam .



siehe z. b. http://stackoverflow.com/questions/15280531/how-to-detect-mousein-and-mouseleave-in-pure-javascript

Nimm die Ereignise "mouseover" und "mouseout".

Um einen bestimmten Block nur einmal je Ereignis "Mauszeiger betritt das Element" auszuführen, kannst du eine skriptweit sichtbare (boolesche) Variable nehmen, die in mouseover abgefragt wird (wenn sie gesetzt ist, überspringe den Block) und am Ende des Blocks gesetzt wird und in mouseout zurückgesetzt wird.

Woher ich das weiß:Berufserfahrung – Software-Entwickler

document.getElementsByClassName("leistungen").onmouseover = function() {

$( ".technik" ).animate({ marginTop: "+=62", height: "toggle" }, 5000, function() { // Animation complete. });

}

https://api.jquery.com/hover/

Du kannst 2 Argument übergeben, nutzt aber momentan nur eins. Probiers mal so:


$(".leistungen").hover(function(){$( ".technik" ).animate({ marginTop: "+=62", height: "toggle" }, 5000, function() {});},function(){$( ".technik" ).animate({ marginTop: "-=62", height: "toggle" }, 5000, function() {});});

PS: Dämlicher Code-Editor hier bei gf

holycow1912  11.05.2015, 10:10

Mit jsfiddle geht es besser ;-)

http://jsfiddle.net/sd8awwz6/

1
MatriX58 
Fragesteller
 11.05.2015, 10:45
@holycow1912

zumindest bei jsfiddle sieht das beispiel nicht so aus wie es sein soll.

Er soll wen man hover das div nach unten  setzen und sobald man nicht mehr hovert wieder zurückgehen

0
happyfish2  11.05.2015, 11:57
@MatriX58

Genau das macht es doch. Hovert man das div "leistungen" wird "technik" extrem langsam nach unten geschoben, verlässt man "leistungen" kommt "technik" genauso langsam wieder nach oben.

0

Und wieso nicht CSS?

Einfacher und sinnvoller (zumindest hier).

Woher ich das weiß:Studium / Ausbildung – Ausgebildeter Fach-Informatiker für Anwendungsentwicklung