![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 1 Dołączył: 11.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki kod 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 (IMG:http://forum.php.pl/style_emoticons/default/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 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 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat 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. No bo raz tylko wykonales count(). jak count() moze ci sie wykonywac wiele razy skoro ty go tylko raz wykonales?Kod function getMouseXY(e) {
if (window.IE) { // grab the x-y pos.s if browser is IE tempX = event.clientX + document.body.scrollLeft tempY = event.clientY + document.body.scrollTop } else { // grab the x-y pos.s if browser is NS tempX = e.pageX tempY = e.pageY } // catch possible negative values in NS4 if (tempX < 0){tempX = 0} if (tempY < 0){tempY = 0} XX = 10; document.getElementById('xxx').value = "X:" + tempX; document.getElementById('yyy').value = "Y:" + tempY; document.getElementById('czas').style.width = tempX + "px"; document.getElementById('czas').style.height = tempY + "px"; document.getElementById('czas').style.left = tempX + "px"; document.getElementById('czas').style.top = tempY + "px"; YY = document.getElementById('xxx').value.toString(); document.getElementById('ggg').value = XX; document.getElementById('hhh').value = YY; return true } function count(){ if (!IE) document.captureEvents(Event.MOUSEMOVE) document.onmousemove = getMouseXY; } |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 1 Dołączył: 11.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
no dobra, a co z zapisem do zmiennej globalnej?? no i czy kotś zna addEventListener() (Mozilla) lub attachEvent() (IE)
Ten post edytował 23kulpamens 7.11.2007, 20:13:05 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No przeciez napisalem:
YY=..... zadne window.YY |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 1 Dołączył: 11.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Już rozumiem, chodzi o kolejność następowania zdarzeń (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) A window.XX też działa, pomoc Mozilli nawet twierdzi, że takiej formy należy używać (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Dzięki za poprawiony kod (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Ten post edytował 23kulpamens 8.11.2007, 10:13:23 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 13:57 |