Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wywoływaniem tej samej funkcji dla kilku obiektów.
DarK MaN
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 4.10.2004

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


  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <TITLE> Test </TITLE>
  3. <script LANGUAGE="JavaScript">
  4. <!--
  5. //Przechowuje liczbę obiektów którym zostały nadane nazwy
  6. numerId=0;
  7. //Tablica ze stanami obiektów
  8. nr = new Array;
  9. //Identyfikatory cyklicznie wywoływanych czynności
  10. timerIdU = new Array;
  11. timerIdD = new Array;
  12.  
  13.  
  14. //Zwraca id obiektu. Jeśli obiekt nie ma id nadaje mu go.
  15. function nadajId(whoa)
  16. {
  17. if(whoa.id=='')
  18. {
  19. whoa.id = "divnr"+numerId;
  20. numerId++;
  21. return whoa.id;
  22. }
  23. else
  24. return whoa.id;
  25. }
  26.  
  27.  
  28. function wielkrotnik(akcja)
  29. {
  30.  
  31. document.getElementById(ident).childNodes[0].data = nr[ident];
  32. if(akcja=='zwieksz')
  33. {
  34. //Jeśli wartość dojdzie do 30 przestaje zwiększać
  35. if(nr[ident]==30)
  36. clearInterval(timerIdU[ident]);
  37. else
  38. nr[ident]++;
  39. }
  40. else
  41. {
  42. //Jeśli wartość dojdzie do 1 przestaje zmniejszać
  43. if(nr[ident]==1)
  44. clearInterval(timerIdD[ident]);
  45. else
  46. nr[ident]--;
  47. }
  48.  
  49. }
  50.  
  51. //Zmienia wartość podanego obiektu zależnie od akcji
  52. function zmienWartosc(obiekt, akcja)
  53. {
  54. //Pobiera id obiektu
  55. ident = nadajId(obiekt);
  56.  
  57. //Jeśli obiekt nie ma jeszcze wartości nadaje mu ja
  58. if(nr[ident]==undefined)
  59. nr[ident] = 1;
  60.  
  61. //Rozpoczyna zwiększać wartość obiektu
  62. if(akcja=='wgore')
  63. {
  64. //Przestaje zmniejszać wartość obiektu (jeśli zmniejszała się tongue.gif)
  65. clearInterval(timerIdD[ident]);
  66. timerIdU[ident] = setInterval("wielkrotnik('zwieksz')", 10);
  67. }
  68. //Rozpoczyna zmniejszać wartość obiektu
  69. else
  70. {
  71. //Przestaje zmniejszać wartość obiektu (jeśli zwiększała się tongue.gif)
  72. clearInterval(timerIdU[ident]);
  73. timerIdD[ident] = setInterval("wielkrotnik('zmniejsz')", 10);
  74. }
  75.  
  76. }
  77.  
  78.  
  79. //-->
  80. </HEAD>
  81.  
  82. <DIV style="background-color:#00FFFF; width:100px; height:100px;" onMouseOver="zmienWartosc(this, 'wgore')" onMouseOut="zmienWartosc(this, 'wdol')">&nbsp;</DIV>
  83. <br><br>
  84. <DIV style="background-color:#00FFFF; width:100px; height:100px;" onMouseOver="zmienWartosc(this, 'wgore')" onMouseOut="zmienWartosc(this, 'wdol')">&nbsp;</DIV>
  85.  
  86. </BODY>
  87. </HTML>


Po najechaniu na dany obiekt (DIV) jego wartość ma się zwiększyć do 30 a po opuszczeniu obiektu ma się zmniejszyć do 1. Wszystko działa dobrze do momentu przejechani z jednego obiektu na drugi zanim zakończy się zmniejszanie wartości tego pierwszego. Wtedy dochodzi do zawiechy. Co morze być tego powodem?
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 21.08.2025 - 13:31