Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JS] Zmiana stanu warstwy bez buttona
JusticeItself
post 2.02.2008, 12:26:34
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 2.02.2008

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


Witam.

Mam małe (niemałe) utrapienie, ponieważ próbuję napisać fragment kodu w samym JS, który będzie ukrywał i pokazywał warstwę, wiem to już było, ale nie znalazłem nigdzie tego czego potrzebuję, czyli grafiki zamiast buttona. Grafika po kliknięciu:

1. zmieni się w drugą (rotacja grafik JPEG: "pokaż" i "ukryj")
2. zmieni widocznośc warstwy.

Nie proszę o cały kod, chociaż o pomoc, nakierowanie.

Z góry dziękuję smile.gif

Ps. We właściwym dziale ja to napisałem?

Ten post edytował JusticeItself 2.02.2008, 12:39:11
Go to the top of the page
+Quote Post
lord_t
post 2.02.2008, 14:49:47
Post #2





Grupa: Zarejestrowani
Postów: 603
Pomógł: 131
Dołączył: 24.07.2007
Skąd: Górny Śląsk

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


Z grafiką robi się analogicznie:
  1. <img id="ukryj" src="obrazekUkryj" onclick="funkcja_ukrywajaca_warstwe();">
  2. <img id="pokaz" src="obrazekPokaz" onclick="funkcja_pokazujaca_warstwe();">


W funckji_ukrywajcej musisz dodać linijki:
  1. document.getElementById("ukryj").style.display="none";
  2. document.getElementById("pokaz").style.display="inline";

a w fun. pokazujacej:
  1. document.getElementById("ukryj").style.display="inline";
  2. document.getElementById("pokaz").style.display="none";


1. To może być pomocne: http://forum.php.pl/index...
2. inline można zamienić na block; w zależności od potrzeb.


--------------------
Go to the top of the page
+Quote Post
JusticeItself
post 2.02.2008, 15:22:39
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 2.02.2008

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


Ah, no tak, ale nie wspomniałem, że na stronie będzie zawsze niewiadoma liczba tych elementów (grafika + poniżej pole z zawartością ukrytą), jeśli będzie 5 takich zestawów, to 5 razy powtórzy się ID grafik i warstw do ukrycia. Od razu napiszę, że chcę to zamontować jako znacznik ukrywajacy treść w poście w systemie forum IP.Board.

Ten post edytował JusticeItself 2.02.2008, 15:24:07
Go to the top of the page
+Quote Post
lord_t
post 2.02.2008, 20:13:55
Post #4





Grupa: Zarejestrowani
Postów: 603
Pomógł: 131
Dołączył: 24.07.2007
Skąd: Górny Śląsk

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


No to obrazki maja tak wygladac w kodzie:

  1. <img id="ukryjN" src="obrazekUkryj" onclick="funkcja_ukrywajaca_warstwe(N);">
  2. <img id="pokazN" src="obrazekPokaz" onclick="funkcja_pokazujaca_warstwe(N);">

gdzie N zastępuje liczba od 0 w górę. To wstawianie liczb trzeba zrealizować oczywiście w kodzie php.

Linijki w kodzie funkcji pokazujacej:
  1. document.getElementById("ukryj"+numer).style.display="inline";
  2. document.getElementById("pokaz"+numer).style.display="none";

Dla drugiej funkcji analogicznie.

Dodatkowo funkcja ukrywająca i fun. pokazująca muszą przyjmować parametr numer. Przykład:
  1. function funkcja_pokazujaca_warstwe(numer)
  2. {....}


--------------------
Go to the top of the page
+Quote Post
erix
post 3.02.2008, 10:39:27
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
To wstawianie liczb trzeba zrealizować oczywiście w kodzie php.


A po co, jeśli doskonale poradzi sobie z tym JS?

Jeśli korzystasz z jakiegoś frameworka w JS, to będzie prościej, ale ogólna idea:

Przechodzisz przez tablicę z obrazkami (document.images) i za pomocą jakichś warunków (np. indexOf dla ID, klasy, czy czego tam jeszcze chcesz) sprawdzasz, czy to ten obrazek, co trzeba. Potem, kawałek kodu:

Obrazki mają nazwy - załóżmy - obrazek_1, obrazek_2.

W pętli sprawdzasz, czy id obrazka ma frazę obrazek_1. Jeśli nie, to continue, a dalej:

Kod
document.images[i].onclick = function(){ funkcja_ukrywajaca_warstwe(this.id.split('_')[1]); }


Pisane z palca, ale nie trzeba maltretować PHP.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
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 - 18:36