Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Rozwijana lista plus - minus
Daniel_2005
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 8.10.2006

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


Chodzi mi o to jak zrobić, żebym miał rozwijaną listę danych po kliknięciu na link (Javascript). Zrobiłem coś takiego tylko, że z jedną ikoną. To znaczy, że jak klikne to sie rozwija lista, ale nie zmienia sie obrazek na minus. A chciałbym dodać sobie takie obrazek minus. Ten minus wygląda tak: (IMG:http://www.emule-project.net/home/img/op.gif) . Plus wiadomo jak wygląda (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) I właśnie nie wiem jak to zrobic zeby mieć też ten minus po rozwinęciu listy. Ktoś mi może pomóc ? (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
Astarot
post
Post #2





Grupa: Zarejestrowani
Postów: 90
Pomógł: 4
Dołączył: 5.02.2006

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


  1. function zwinRozwin(div_id,imgId)
  2. {
  3. obiekt = document.getElementById(div_id);
  4. img = document.getElementById(imgId);
  5. if(obiekt.style.display == 'none')
  6. {
  7. obiekt.style.display = 'block';
  8. img.setAttribute("src", "img/install/zwin.jpg");
  9. }
  10. else
  11. {
  12. obiekt.style.display = 'none';
  13. img.setAttribute("src", "img/install/rozwin.jpg");
  14. }
  15. }


kod odpowiedzialny za zmiane pliku obrazka to:

  1. img = document.getElementById(imgId);
  2. img.setAttribute("src", "img/install/zwin.jpg");
Go to the top of the page
+Quote Post
Daniel_2005
post
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 8.10.2006

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


Dobra jak mam to teraz uzyc jako link w sekcji <a>. Wiem jak w javascripcie ale nie wiem jak w php (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Astarot
post
Post #4





Grupa: Zarejestrowani
Postów: 90
Pomógł: 4
Dołączył: 5.02.2006

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


Możesz podać kod swojej listy (menu) ? Chodzi Ci o to aby podczas rozwijania / zwijania listy strona nie była przeładowywana czy o to aby po przeładowaniu strony lista rozwijana utrzymała stan z przed przeładowania strony?
Go to the top of the page
+Quote Post
LBO
post
Post #5





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


Unobtrusive DHTML, and the power of unordered lists, warto przejrzeć. Linki podane bezpośrednio w artykule również.
Go to the top of the page
+Quote Post
Daniel_2005
post
Post #6





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 8.10.2006

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


Dobra, mam coś takiego napisanego w java script:
CODE

<script type="text/javascript">



var stan, obrazek;



function PokazUkryj(nazwa,image) {



stan=(document.getElementById(nazwa).style.display=="none")?true:false;

document.getElementById(nazwa).style.display=(stan)?"block":"none";

obrazek=(document.getElementById(image).style.display=="none")?true:false;

document.getElementById(image).style.display=(obrazek)?"block":"none";



if(stan.style.display == 'none')
{
stan.style.display = 'block';
obrazek.setAttribute("src", "images/minus.gif");
}
else
{
stan.style.display = 'none';
obrazek.setAttribute("src", "images/plus.gif");
}

}



</script>



W sekcji body mam coś takiego
Kod
<a href="java script:PokazUkryj('lista');"><b>KGHM</b></a><br />


A to jest zawartość "lista":
Kod
<div id="lista" style="display:none;">

<a href="">Urzadzenia</a><br />

<a href="">Prace wydobywcze</a><br />

Dlaczego nie wyświetlają się wogóle plusy i minusy ? Jest tylko napis :/
Go to the top of the page
+Quote Post
erix
post
Post #7





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




Kod
function PokazUkryj(nazwa,image) {

Tu są dwa parametry, a Ty podałeś tylko jeden.

Wstaw jakiś <img> do dokumentu i jako drugi parametr do funkcji w <a> podaj nazwę owego obrazka.
Go to the top of the page
+Quote Post
Daniel_2005
post
Post #8





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 8.10.2006

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


Niestety nie działa dalej. Gdy dodaję element image do parametru w sekcji <a> to wogóle to wszystko przestaje działać. Nie rozwija się lista. Natomiast gdy jest jeden parametr to wszystko jest dobrze, tylko nie ma obrazków :/
Go to the top of the page
+Quote Post
erix
post
Post #9





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




Chyba się nie zrozumieliśmy...
  1. <img src="obrazek" id="nazwa1" style="height:10px;width:10px;" alt="" />
  2.  
  3. <a href="#" onclick="PokazUkryj('nazwa', 'nazwa1')">klik</a>


Ma to związek z kawałkiem kodu:
Kod
img = document.getElementById(imgId);

imgId było drugim parametrem
Jak doń wkleisz kod obrazka, to za Chiny nie będzie działać, bo funkcja jako parametru wymaga podania identyfikatora obiektu w dokumencie, nie kodu. Poczytaj o DOM, przyda się na pewno.

Ten post edytował erix 9.10.2006, 22:11:51
Go to the top of the page
+Quote Post
Daniel_2005
post
Post #10





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 8.10.2006

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


Niestety nie działa dalej. Dziwi mnie to :/
Go to the top of the page
+Quote Post
erix
post
Post #11





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




Wrzuć do jakiegoś notesu (typu notes.blo.pl; tylko włącz kolorowanie do php!) cały kod.
Go to the top of the page
+Quote Post
Daniel_2005
post
Post #12





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 8.10.2006

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


http://www.ed.masternet.pl/Notes/show.php?id=255

I jak ?
Go to the top of the page
+Quote Post
Astarot
post
Post #13





Grupa: Zarejestrowani
Postów: 90
Pomógł: 4
Dołączył: 5.02.2006

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


Ten kod działa (przynajmniej u mnie), jesteś pewien że masz włączone javascript i że podałeś odpowiednie scieżki do plików (plus.gif, minus.gif)?

Kod
<script type="text/javascript">
function zwinRozwin(div_id,imgId) {
obiekt=document.getElementById(div_id);
img = document.getElementById(imgId);
if(obiekt.style.display == 'none')
{
obiekt.style.display = 'block';
img.setAttribute("src", "images/minus.gif");
}
else
{
obiekt.style.display = 'none';
img.setAttribute("src", "images/plus.gif");
}

}

</script>
Go to the top of the page
+Quote Post
erix
post
Post #14





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




Wczoraj napisał do mnie autor tematu i doszedłem do rozwiązania. Nie wiem, czy u niego działało, ale u mnie tak (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Kod
function zwinRozwin(div_id,imgId)
{
  obiekt = document.getElementById(div_id);
  if(obiekt.style.display == 'none')
  {
    obiekt.style.display = 'block';
document.images[imgId].src = 'img/instal/zwin.jpg';
  }
  else
  {
    obiekt.style.display = 'none';
    document.images[imgId].src = 'img/instal/rozwin.jpg';
  }
}
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: 21.10.2025 - 13:22