Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JS] Zaznaczanie obszarów na mapie województw, mam prawie wszystko gotowe, ale jest mały szczegół do dorobienia
Kostek.88
post 15.05.2008, 13:05:16
Post #1





Grupa: Zarejestrowani
Postów: 376
Pomógł: 47
Dołączył: 23.08.2007
Skąd: Warszawa

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


Witam ja Was smile.gif

Napisałem taki jeden skrypt, który wyświetla mapę województw (a właściwie go gdzieś odnalazłem)

Kod
if(document.images) {

   imagemap_default = new Image();
   imagemap_default.src = 'gfx/mapka_all.gif';

   imagemap_1 = new Image();
   imagemap_1.src = 'gfx/mapka_dolnoslaskie.gif';

   imagemap_2 = new Image();
   imagemap_2.src = 'gfx/mapka_kujawskopomorskie.gif';

   imagemap_3 = new Image();
   imagemap_3.src = 'gfx/mapka_lodzkie.gif';

   imagemap_4 = new Image();
   imagemap_4.src = 'gfx/mapka_lubelskie.gif';

   imagemap_5 = new Image();
   imagemap_5.src = 'gfx/mapka_lubuskie.gif';

   imagemap_6 = new Image();
   imagemap_6.src = 'gfx/mapka_malopolskie.gif';

   imagemap_7 = new Image();
   imagemap_7.src = 'gfx/mapka_mazowieckie.gif';

   imagemap_8 = new Image();
   imagemap_8.src = 'gfx/mapka_opolskie.gif';

   imagemap_9 = new Image();
   imagemap_9.src = 'gfx/mapka_podkarpackie.gif';

   imagemap_10 = new Image();
   imagemap_10.src = 'gfx/mapka_podlaskie.gif';

   imagemap_11 = new Image();
   imagemap_11.src = 'gfx/mapka_pomorskie.gif';

   imagemap_12 = new Image();
   imagemap_12.src = 'gfx/mapka_slaskie.gif';

   imagemap_13 = new Image();
   imagemap_13.src = 'gfx/mapka_swietokrzyskie.gif';

   imagemap_14 = new Image();
   imagemap_14.src = 'gfx/mapka_warminskomazurskie.gif';

   imagemap_15 = new Image();
   imagemap_15.src = 'gfx/mapka_wielkopolskie.gif';

   imagemap_16 = new Image();
   imagemap_16.src = 'gfx/mapka_zachodniopomorskie.gif';
}



function rollOver(iName,iState) {
   if(document.images) {
      if(klik = 1) {
         document.images[iName].src = eval(imagemap.src);
      } else {
         document.images[iName].src = eval(iName + '_' + iState + '.src');
      }
   }
}


Na samej górze znajdują się polecenia do cachowania obrazków, by nie trzeba było czekać na załadowanie się innych grafik po najeżdżaniu myszką. Na dole jest funkcja, która podmienia cały obrazek, jeśli najedzie się na określony obszar obrazka (całość zrobiona jest w mapie obraków)

Funkcja ta uruchamiana jest poleceniami w linku:
  1. onMouseOut="rollOver('imagemap','default')"
  2. onMouseOver="rollOver('imagemap','10')"


Wszystko jest OK, ale ja chciałbym by po kliknięciu na obszar obrazek został już podmieniony na stałe, ale po najechaniu znów na inny obszar i zjechaniu z niego wracał rysunek DO TEGO, CO OSTATNIO ZOSTAŁ KLIKNIĘTY.

Próbowałem zrobic to tak, by po najechaniu myszka na obszar obrazek został podmieniony i przypisany do zmiennej previous. Potem dochodziły jeszcze funkcje rozpoznające, czy obszar został kliknięty już, czy nie i w zależności od tego wykonywał różne akcje, ale nic mi nie szło. Nie działa mi to, a z JavaScript za dobry nie jestem. Ma ktoś jakiś pomysł na rozwiązanie mojego problemu? Z góry dzięki.

Pozdrawiam

EDIT: dodam jeszcze, że po kliknięciu na obszar nie ładuje się inna strona, bo został tutaj zastosowany AJAX, także nie da się tego rozwiązać w inny sposób, tylko w JS.

Ten post edytował Kaloryfer 15.05.2008, 13:07:32
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: 19.07.2025 - 12:57