Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zmiana obrazka po kliknięciu, js
kapitan kloss
post
Post #1





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 18.11.2004

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


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Zajec
post
Post #2





Grupa: Zarejestrowani
Postów: 1 086
Pomógł: 8
Dołączył: 10.12.2003

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


Bo kombinujesz z tą zmienną i ;-)
Kod
function klik(t, g1, g2) {
if (t.src==g1) t.src=g2;
else t.src=g1;
}
Go to the top of the page
+Quote Post
kapitan kloss
post
Post #3





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 18.11.2004

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


No fajnie, ale jak tak zrobie to mi sie obrazki w ogole nie zmieniaja.
Go to the top of the page
+Quote Post
JaRoPHP
post
Post #4





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

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


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. }
Go to the top of the page
+Quote Post
kapitan kloss
post
Post #5





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 18.11.2004

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


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.
Go to the top of the page
+Quote Post
JaRoPHP
post
Post #6





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

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


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. }
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 13:03