Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js] onmouseover
maciu
post 11.04.2007, 11:20:37
Post #1





Grupa: Zarejestrowani
Postów: 238
Pomógł: 1
Dołączył: 27.08.2003

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


czy da się zrobić, aby akcja zdefiniowana w onmouseover, została wywołana tylko wtedy jeśli kursor będzie na polu przez odpowiednią ilość sekund?

  1. <td onmuseover="funkcja()"></td>


funkcja funkcja() będzie wywoływana dopiero gdy kursor będzie na komórce tabeli. Da się coś takiego zrobić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
mike
post 11.04.2007, 11:47:18
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Podczas wjechania na obszar za pomocą setInterval() ustaw chęć wykonania jakiejść funkcji za ileś czasu.
Podczas zjechania skorzystaj z clearInterval(), to jeśli funkcja się jeszcze nie wykonała to sie już nie wykona.

Całość jest bardzo prosta. Pokombinuj.
Pytaj jak coś to podpowiem.

---update---
A coooo tam. Masz gotowca tongue.gif
  1. <style type="text/css">
  2. .box {
  3. width: 100px;
  4. height: 100px;
  5. border: #f00 solid 1px;
  6. }
  7.  
  8. <script type="text/javascript">
  9. var intervalId = null;
  10.  
  11. function someFunction() {
  12. alert('Lorem ipsum ...');
  13. }
  14.  
  15. function start() {
  16. intervalId = setInterval('someFunction()', 3000);
  17. }
  18.  
  19. function stop() {
  20. clearInterval(intervalId);
  21. }
  22.  
  23. <div class="box" onmouseover="start();" onmouseout="stop();"></div>


Ten post edytował mike_mech 11.04.2007, 11:50:33
Go to the top of the page
+Quote Post
devnul
post 11.04.2007, 12:06:42
Post #3





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


@mike_mech: setInterval będzie wykonywało funkcję (powtarzało co określony czas) aż do wyczyszczenia przez clearInterval dlatego IMHO lepiej jest w tym wypadku użyć setTimeout i clearTimeout

//DOWN: @mike_mech: wszyscy jesteśmy tylko ludzmi tongue.gif

Ten post edytował devnul 11.04.2007, 12:34:48


--------------------
Profesjonaliści są przewidywalni...
strzeż się amatorów...
FL4SHB4CK - imprezy, galerie, lokale
Go to the top of the page
+Quote Post
mike
post 11.04.2007, 12:30:00
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


W sumie masz rację.
Nie zwróciłem uwagi, że ma się wykonać tylko raz. Nie wiem czemu pomyślałem o wielokrotnym wykonaniu gdzie pierwsze następuje po odpowiednim czasie.
Go to the top of the page
+Quote Post
maciu
post 11.04.2007, 14:55:02
Post #5





Grupa: Zarejestrowani
Postów: 238
Pomógł: 1
Dołączył: 27.08.2003

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


dziękuje bardzo za pomoc. Mam jeszcze jedno laickie pytanie. Jak zrobić aby wywołać funkcję someFunction z parametrem. Poniższy kod zobrazuje o co mi chodzi

  1. function someFunction(id) {
  2. zmienna = id
  3. alert('Lorem ipsum ...');
  4. }
  5.  
  6. function start(id) {
  7. intervalId = setInterval('someFunction(id)', 3000);
  8. }
  9.  
  10. <div class="box" onmouseover="start(5);" onmouseout="stop();"></div>
Go to the top of the page
+Quote Post
devnul
post 11.04.2007, 15:04:33
Post #6





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


  1. function someFunction(id) {
  2. zmienna = id
  3. alert('Lorem ipsum ...');
  4. }
  5. function stop() {
  6. clearTimeout(intervalId);
  7. }
  8. function start(id) {
  9. intervalId = setTimeout('someFunction('+id+')', 3000);
  10. }
  11.  
  12. <div class="box" onmouseover="start(5);" onmouseout="stop();"></div>


zadziałą jeśli id będize liczbą jesli tekstem to musisz dodać jeszcze cudzysłów


--------------------
Profesjonaliści są przewidywalni...
strzeż się amatorów...
FL4SHB4CK - imprezy, galerie, lokale
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 09:28