Skocz do zawartości
Gość Developer

[jQuery] Mouseover z opóźnieniem

Polecane posty

Gość Developer

Pojawia się coraz więcej pytań takich jak

Jak wykonać za pomocą JQuery opóźnienie około 0,5 sekundy które po najechaniu na div-a wykona jakos funkcja np. alert().

Nie chodzi mi tu o typowe działanie setTimeout() która tylko opóźnia funkcje lecz o wywołanie jej tylko w tym przypadku jak kursor znajduje się co najmniej 0,5 sekundy.

Otóż jest to bardzo proste, a mianowicie.

Przypisz do zmiennej globalnej wartość zwracaną przez setTimeout. Przy mouseout robisz clearTimeout. Mniej więcej tak:

var t;

$("jakis_selektor").mouseover(function() {

    t = setTimeout("funkcja_jaka_ma_sie_wykonac()", 500);

}).mouseout(function() {

    clearTimeout(t);

});

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
gebekzor

Równie dobrze można użyć kodu CSS3 (tam gdzie 0,6s ustalamy czas po jakim czasie ma się pojawić hover)


-webkit-transition: 0.6s;

-moz-transition: 0.6s;

-ms-transition: 0.6s;

-o-transition: 0.6s;

transition: 0.6s;

btw. ładna kopia http://forum.php.pl/index.php?showtopic=110197

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Tomo

gebekzor, skąd wiesz że kopia -.-

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Privo

NaveN, porownaj kod podany przez Developer, z tym ktory jest w tamtym temacie w odp., a i sama tresc pytania tamtego usera jest tutaj tez uzyta. : )

I teraz Developer, niech powie czy on to batman, ale chyba raczej nie on. ; )

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Grochonorte

działa dzieki

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość
Temat jest zablokowany i nie można w nim pisać.
×
×
  • Utwórz nowe...