Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]rozwijane menu
Forum PHP.pl > Forum > Przedszkole
Kahras
Witam mam problem ponieważ nie wiem jak wykonać rozwijające się menu.(zwykle w PHP klikam i się rozwija)

Skrypt wygląda tak:

  1. if(isset($config['site']['quests']) && is_array($config['site']['quests']) && count($config['site']['quests']) > 0)
  2. {
  3. $main_content .= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=7 WIDTH=100%><TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD align="left" COLSPAN=2 CLASS=white><B>Quests</B></TD></TD align="right"></TD></TR>';
  4. $number_of_quests = 0;
  5. foreach($config['site']['quests'] as $questName => $storageID)
  6. {
  7. $bgcolor = (($number_of_rows++ % 2 == 1) ? $config['site']['darkborder'] : $config['site']['lightborder']);
  8. $number_of_quests++;
  9. $main_content .= '<TR BGCOLOR="' . $bgcolor . '"><TD WIDTH=95%>' . $questName . '</TD>';
  10. if($player->getStorage($storageID) === null)
  11. {
  12. $main_content .= '<TD><img src="images/false.png"/></TD></TR>';
  13. }
  14. else
  15. {
  16. $main_content .= '<TD><img src="images/true.png"/></TD></TR>';
  17. }
  18. }
  19. $main_content .= '</TABLE></td></tr></table><br />';
  20. }


Lista jest b.długa:



I chciałbym by tak to wyglądało ze zamiast "Quests"(na samej gorze) by pisało rozwiń i by się rozwijała cala lista.


Wie ktoś coś jak to wykonać?
Turson
Nie zrobisz rozwijanego menu w samym PHP. Do tego potrzebny jest Javascript. W google trochę znajdziesz przykładów
Kahras
No tak jednak masz racje.
Tutaj jest 1 wlasnie przykladowy skrypt ktory dziala tak jak ma dzialac:

  1. $main_content = "
  2. <script type=\"text/javascript\"><!--
  3. function show_hide(flip)
  4. {
  5. var tmp = document.getElementById(flip);
  6. if(tmp)
  7. tmp.style.display = tmp.style.display == 'none' ? '' : 'none';
  8. }
  9. --></script>";
  10.  
  11. //zapytania//
  12. $lua = parse_ini_file($config['site']['server_path'].'/config.lua');
  13. $ip = explode("*", $lua['ip']);
  14. $port = explode("*", $lua['loginPort']);
  15. $motd = explode("*", $lua['motd']);
  16. $accounts = $SQL->query('SELECT COUNT(*) FROM `accounts` WHERE `id`>0;')->fetch();
  17. $players = $SQL->query('SELECT COUNT(*) FROM `players` WHERE `id`>0;')->fetch();
  18. $guilds = $SQL->query('SELECT COUNT(*) FROM `guilds` WHERE `id`>0;')->fetch();
  19. //reszta//
  20. $main_content .= '<table BORDER=0 CELLPaDDING="4" CELLSPACING="1" width=100%;>
  21. <TR BGCOLOR="'.$config['site']['vdarkborder'].'"><TD ALIGN=center CLASS=white><B>';
  22. $main_content .= "<a onclick=\"show_hide('statl'); return false;\" style=\"cursor: pointer;\">&raquo; View server information &laquo;</a></B></TD></TR></TABLE>";
  23.  
  24. $main_content .= '<center><TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=90% id="statl" style="display: none;" ><TR><TD><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'>
  25. <tr bgcolor="'.$config['site']['darkborder'].'"><td>Server IP: '.$lua['ip'].'</li></td>
  26. <td>Accounts on '.$config['server']['serverName'].': '.$accounts[0].'</li></td></tr>
  27.  
  28. <tr bgcolor="'.$config['site']['lightborder'].'"><td>Port: '.$lua['loginPort'].'</li></td>
  29. <td>Players on '.$config['server']['serverName'].': '.$players[0].'</li></td></tr>
  30.  
  31. <tr bgcolor="'.$config['site']['darkborder'].'"><td>MOTD: '.$lua['motd'].'</li></td>
  32. <td>Guilds on '.$config['server']['serverName'].': '.$guilds[0].'</center></td></tr>
  33. </table>
  34. </table>
  35. ';


Klikam i sie rozwija.
Tylko nie umiem kodu odpowiadającego za te rozwijanie przenieść do mojego skryptu: /
CuteOne
To pora się nauczyć?
google ->
js poradnik,
css poradnik,
html poradnik
trueblue
Możesz to zrobić w czystym php po prostu drukując dane podkategorie (tylko wybranej kategorii), jednak nie będzie tu efektu płynności i dokona się po przeładowaniu strony.
Możesz zmodyfikować powyższą wersję drukując zawsze podkategorie wszystkich kategorii i nadając odpowiedni styl display, również działanie po przeładowaniu.

A tu masz w czystym CSS:
http://jsfiddle.net/z37g782t/
http://jsfiddle.net/z37g782t/1/
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.