Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] Jak Dobrać Się Do Zmiennych Globanych W Funkcji i jak działa addEventListener()?
23kulpamens
post 7.11.2007, 15:54:50
Post #1





Grupa: Zarejestrowani
Postów: 57
Pomógł: 1
Dołączył: 11.10.2007

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


Mam taki kod HTML
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  3. <script type="text/javascript">
  4. var IE = document.all?true:false
  5. var tempX = 0
  6. var tempY = 0
  7. var XX = 100
  8. var YY = 100
  9.  
  10. function getMouseXY(e) {
  11. if (window.IE) { // grab the x-y pos.s if browser is IE
  12. tempX = event.clientX + document.body.scrollLeft
  13. tempY = event.clientY + document.body.scrollTop
  14. } else { // grab the x-y pos.s if browser is NS
  15. tempX = e.pageX
  16. tempY = e.pageY
  17. }
  18. // catch possible negative values in NS4
  19. if (tempX < 0){tempX = 0}
  20. if (tempY < 0){tempY = 0}
  21. window.XX = 10;
  22. document.getElementById('xxx').value = "X:" + tempX;
  23. document.getElementById('yyy').value = "Y:" + tempY;
  24. document.getElementById('czas').style.width = tempX + "px";
  25. document.getElementById('czas').style.height = tempY + "px";
  26. document.getElementById('czas').style.left = tempX + "px";
  27. document.getElementById('czas').style.top = tempY + "px";
  28. return true
  29. }
  30.  
  31. function count(){
  32.  
  33. if (!IE) document.captureEvents(Event.MOUSEMOVE)
  34. document.onmousemove = getMouseXY;
  35. window.YY = document.getElementById('xxx').value.toString();
  36. document.getElementById('ggg').value = window.XX;
  37. document.getElementById('hhh').value = window.YY;
  38. }
  39.  
  40.  
  41. </head>
  42. <div id="czas" style="background-color: aqua; width: 500px; position: absolute; t">
  43. <input id="xxx" name="strength" value="" />
  44. <input id="yyy" name="strength" value="" />
  45. </div>
  46. <input id="ggg" name="strength" value="" />
  47. <input id="hhh" name="strength" value="" />
  48. <script type="text/javascript">count();</script>
  49. </body>
  50. </html>

I wewnątrz funkcji getMouseXY() nie mogę się dobrać do żadnej zmiennej globalnej XX ani YY. Próbowałem też normalnie, nie jako element klasy "window". Nie działa sad.gif . Jak w takim wypadku mogę zapisać coś do zmiennej globalnej wewnątrz funkcji getMouseXY() żeby móc to później wykorzystywać sobie przy generowaniu dynamicznej zawartości. ( Np. tego rosnącego i malejącego bloku przy kursorze myszki ). Jak widać w kodzie kiedy spróbowałem odczytać wartość z pola <input/> którego zawartość zmienia się w funkcji getMouseXY() to wartośc została odczytana tylko raz na początku wykonania skryptów. Jeżeli źle rozumiem strukturę działania JavaScript lub tego ni da sie zrobić, ktoś mógłby mi wytłumaczyć dlaczego??

Podobno
  1. document.captureEvents(Event.MOUSEMOVE)
Jest przestarzałe dlatego należy używać addEventListener(), ale nigdzie nie mogę znaleźć o tym zrozumiałych informacji, a to co znalazłem na stronie mozilli jest kompletnie niejasne. http://developer.mozilla.org/pl/docs/DOM:e...ddEventListener

Ten post edytował 23kulpamens 8.11.2007, 10:17:10


--------------------
Ta sygnaturka to lekkie przegięcie. To poważne forum. Pomijam już fakt naruszenia regulaminu. Usuwam /~nospor/ szkoda :(
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 Wersja Lo-Fi Aktualny czas: 27.06.2025 - 21:27