Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mootools] zatrzymanie opóźnionego zdarzenia
cichy380
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 18.08.2008
Skąd: Pabianice

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


proszę o pomoc przy poniższym kodzie,

powoduje on wyświetlenie komunikatu (przykładowa akcja) po najechaniu na element (zdarzenie),
akcja wykonuje się z opóźnieniem 2sek
[JAVASCRIPT] pobierz, plaintext
  1. var fAkcja = function(){
  2. alert('wyświetlam komunikat!');
  3. }
  4.  
  5. $('idDivElement').addEvent('mouseenter', function(){ // akcja wywoływana po najechaniu kursorem na element o ID "idDivElement"
  6. fAkcja.delay(2000);
  7. })
[JAVASCRIPT] pobierz, plaintext

kod działa, ale... chciałbym aby akcją się nie wywoływała w przypadku gdy kursor opuści element przed upływem 2sek,
czyli chodzi o zatrzymanie / przerwanie akcji w momencie opuszczenia elementu przez kursor.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Swoją drogą patrząc na same docs to widzę, że można by to skrócić do
[JAVASCRIPT] pobierz, plaintext
  1. var fAkcja = function(){ alert('wyświetlam komunikat!') }.delay(2000);
  2. $('idDivElement').addEvent('mouseenter', fAkcja);
  3. $('idDivElement').addEvent('mouseleave', $clear(fAkcja) );
[JAVASCRIPT] pobierz, plaintext
Od razu mówię... Z MooTools to mój pierwszy w życiu skrypt i to napisany tylko na podstawie dokumentacji, bez uruchomienia i przetestowania gdziekolwiek (IMG:style_emoticons/default/biggrin.gif)

EDIT:

Twój nie działa gdy wyjdziesz i poczekasz, bo brak mouseleave zdefiniowanego. Weź to co poniżej. Właśnie sobie skrypt przetestowałem...
[JAVASCRIPT] pobierz, plaintext
  1. var timer;
  2. var fAkcja = function(){ alert('wyświetlam komunikat!') };
  3. $('idDivElement').addEvent('mouseenter', function() { timer = fAkcja.delay(2000) });
  4. $('idDivElement').addEvent('mouseleave', function() { $clear(timer) } );
[JAVASCRIPT] pobierz, plaintext
Powód edycji: [thek]: Poprawiony, na bank działający
Go to the top of the page
+Quote Post

Posty w temacie


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: 28.12.2025 - 06:26