Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js]dlaczego: document.getElementById("")has no properties
Forum PHP.pl > Forum > Przedszkole
rgalka
niestety jeśli chodzi o javascript, to żaden ze mnie programista, stąd to pytanie. o co chodzi.
robię "aplikację" webową w PHP. jej częścią jest dynamicznie generowana mapa Polski z naniesionymi lokalizacjami. Mapę tą można powiększać

  1. function powieksz()
  2. {
  3. 1) var szerokosc = document.getElementById("mapa_polski").width;
  4. 2) var wysokosc = document.getElementById("mapa_polski").height;
  5. if(szerokosc<1366)
  6. {
  7. var new_szerokosc = szerokosc + 100;
  8. var new_dlugosc = dlugosc + 75;
  9. document.getElementById("mapa_polski").width = new_szerokosc;
  10. document.getElementById("mapa_polski").height = new_dlugosc;
  11. }
  12. }

oraz pomniejszać:

  1. function pomniejsz()
  2. {
  3. 1) var szerokosc = document.getElementById("mapa_polski").width;
  4. 2) var wysokosc = document.getElementById("mapa_polski").height;
  5. if(szerokosc>666)
  6. {
  7. var new_szerokosc = szerokosc - 100;
  8. var new_dlugosc = dlugosc - 75;
  9. document.getElementById("mapa_polski").width = new_szerokosc;
  10. document.getElementById("mapa_polski").height = new_dlugosc;
  11. }
  12. }


dodatkowo na dynamicznie generowany obrazek, nakładana jest mapa odnośników (również dynamiczna). no i tu się pojawia problem. mianowicie przy powiększaniu i pomniejszaniu mapy, w.w. mapa odnośników musi być skalowana, tak aby aktywne obszary pokrywały się z punktami obrazka. do skalowania wykorzystuję funkcję skaluj:

[html][/html]
jak widać w każdej z trzech funkcji wykorzystuję zmienne szerokosc i wysokosc (linijki oznaczone cyframi 1 i 2), które służą mi do przechwytywania bieżącej wielkości obrazka.
i tu się pojawia problem, ponieważ w dwóch pierwszych funkcjach 1) i 2) działają poprawnie natomiast w trzeciej funkcji konsola błędów zwraca mi następujący komunikat:

document.getElementById("mapa_polski")has no properties

no i niech mi teraz ktoś wyjaśni dlaczego w trzeciej funkcji to nie działa?
function skaluj()
{
1) var szerokosc = document.getElementById("mapa_polski").width;
2) var wysokosc = document.getElementById("mapa_polski").height;
.
.
.
}
nevt
a pokaż tą funkję skaluj... (ja jej nie widzę w tym poście), pokaż w którym miejscu w kodzie strony ją wywołujesz... może element o id = "mapa_polski" jeszcze nie jest załadowany / stworzony ...?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.