Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmiana obrazka po kliknięciu
Forum PHP.pl > Forum > Po stronie przeglądarki
kapitan kloss
Witam,
proszę o pomoc poniewaz nie mam pomysłu jak przebrnąć przez tę funkcję.

Chciałbym po kliknięciu na ikonkę zmienić jej wygląd. I to mi się udaje.
Problem w tym, że jeśli takich ikonek które się zmieniają niezależnie może być na stronie wiele. ... i nie umiem rozdzielić zmiany na pojedyncze ikonki, tak aby zmiana dotyczyła tylko ikonki która została kliknięta.

Kod
function klik(t, g1, g2) {
  i *= -1;
  if (i<0) t.src=g2;
  else t.src=g1;
}
i=1;

Tak wygląda link doczepiony do ikonki
Kod
<img src="1.gif" alt="" onclick="klik(this, '1.gif', '2.gif')" />

Dziękuję za pomoc
Zajec
Bo kombinujesz z tą zmienną i ;-)
Kod
function klik(t, g1, g2) {
if (t.src==g1) t.src=g2;
else t.src=g1;
}
kapitan kloss
No fajnie, ale jak tak zrobie to mi sie obrazki w ogole nie zmieniaja.
JaRoPHP
Obrazki się nie zmieniają, bo po odczytaniu atrybutu src otrzymujesz coś w stylu "sciezka/do/obrazka/1.gif", a nie "1.gif", dlatego pierwszy if nigdy nie jest równy true.

Powinno działać po zmianie kodu na taki:
  1. <script type="text/javascript">
  2. function klik(o, src1, src2) {
  3. var sources = o.src.split("/");
  4. var image = sources[sources.length-1];
  5. if(image == src1) {
  6. o.src = src2;
  7. } else {
  8. o.src = src1;
  9. }
  10. }
kapitan kloss
Jestescie wielcy - dziala, ale niestety obrazki nie moga byc w innym katalogu, bo ten split wcale nie obcina sciezki elementy/obrazek.gif
Czy jest jakis sposob na obciecie jej.
JaRoPHP
Cytat(kapitan kloss @ 16.01.2007, 13:54:19 ) *
niestety obrazki nie moga byc w innym katalogu, bo ten split wcale nie obcina sciezki elementy/obrazek.gif
Niestety, ale nie zrozumiałem...
Jak nie obcina ścieżki? Wywołaj metodę alert() i zobacz, czy rzeczywiście jej nie obcina:
  1. var image = sources[sources.length-1];
  2. alert(image);

Chyba wystarczy zmodyfikować przypisanie nowej ścieżki do obrazka:
  1. if(image == src1) {
  2. o.src = "sciezka/".src2;
  3. } else {
  4. o.src = "sciezka/".src1;
  5. }
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.