Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Opóźnienie funkcji po najechaniu na element
radziopoke
post
Post #1





Grupa: Zarejestrowani
Postów: 125
Pomógł: 14
Dołączył: 2.06.2010

Ostrzeżenie: (0%)
-----


Potrzebowałbym zrobić coś takiego, że jak najadę na element, to funkcja która jest za to odpowiedzialna wykona się np po sekundzie pod warunkiem, że mysz nadal znajduje się na tym elemencie. Chwilowo mam tylko, że wykonuje się od razu po najechaniu a to jest trochę za szybko bo ktoś może tylko szybko "przelecieć" po obiekcie i zdążyć myszkę zdjąć przed upływem odpowiedniego czasu z tego obiektu. Wtedy funkcja nie powinna się wykonać.

korzystam z jquery i mam tylko to:
  1. $("body").delegate('div','mouseover', function(){
  2. //tutaj powinien być jeszcze możliwość sprawdzenia czy po odpowiednim czasie myszka nadal znajduje się nad elementem
  3. }


Podałem tylko tyle gdyż oprócz tego mam i tak tylko schemat html złożony z div-ów.
jak zrobić takie opóźnienie?

Ten post edytował radziopoke 17.08.2012, 13:44:04
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
kamil4u
post
Post #2





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Robisz to za pomocą flagi i funkcji setTimeout i clearTimeout.

Pseudokod - nie do końca poprawny. Sam pomyśl co zmienić - to ma przedstawić jedynie idee:
Kod
flaga = false;

element.zdarzenieNajechania = function(){
flaga = true;
opoznienie = setTimeout(function(){
   if( flaga == true ){
     //wykonaj
   }
}, 3000)
}

element.zdarzenieZjechaniaMyszki = function(){
flaga = false;
// ew. usunąć zwłokę
}
Go to the top of the page
+Quote Post
radziopoke
post
Post #3





Grupa: Zarejestrowani
Postów: 125
Pomógł: 14
Dołączył: 2.06.2010

Ostrzeżenie: (0%)
-----


dzięki jakąś nie wpadłem na to by sprawdzić czy myszka zjechała z obiektu (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 07:28