Autor Zpráva
Pavel123456
Profil *
Zdravím,
mám menší problém s pochopením jQuery, a to s události mouseover. Mám div, ke kterému je přiřazena následující funkce při události click:
$("div.scrollingHotSpotRight").click (function(){
$("div.scrollWrapper").animate({scrollLeft: '+=194px'}, 700);
});


chtěl bych, aby se tento proces vykonával při najetí kurzoru myši přes ten div.scrollingHotSpotRight, ale pokud použiju event mouseover, tak se funkce spustí jenom jednou. Pokud použiju event mousemove, tak to zdánlivě vypadá tak, jak chci, ale problém je v tom, že se mi vykonání toho procesu nabufferuje na několik akcí dopředu, tj,. když odjedu myší z toho divu, tak animace pokračují dál.

nemoh by mi prosím někdo poradit, jak do tohoto kódu zakombinovat, aby to ten event mousemove registrovalo pouze, pokud je animace dokončená? asi se tam někde použije settimeout, ale co nevím, jak podmínit ten event mousemove neexistencí toho časovače...

Předem děkuji za rady, nebo odkazy na návody, které se touto problematikou zabývají, a nejsou složité na pochopení.

Pavel
_es
Profil
Niečo podobné sa riešilo tu a tu.
Chamurappi
Profil
Reaguji na Pavla123456:
Asi moc nerozumím, co vlastně chceš. Událost onmousemove se volá při každém pohybu myši — proto se zavolá několikrát (a jQuery si řadí všechny efekty do fronty) — a to se ti nelíbí. Událost onmouseover se zavolá při přijetí myši na element — jen jednou — a to se ti také nelíbí.

Existující animaci můžeš zastavit stopem. O žádné metodě, která by informovala o stavu jedné konkrétní animace, nevím.
Pavel123456
Profil *
Chamurappi:
Já jsem právě chtěl, aby ten onmousemove volal tu funkci, jen když neprobíhá žádná animace; to, že se volá, ale nic nepouští, mi snad nevadí... s tím onmouseover jsem si to akorát špatně vyložil, myslel jsem, že se ta událost pouští stále, když je ten kurzor nad tim elementem ne jen když na něj najedu, ale tak to není...

zkusil jsem i nějaká řešení s podmínkama a callback funkcema těch animaci, ale asi to nemá cenu, akorát to přidělává starosti nechám to na onclick, bude klid a je to alespoň přehlednějši...

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: