Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Jak zrobić takie menu
Forum PHP.pl > Forum > Przedszkole
-wwojteko-
Witam!

Jak zrobić menu tego typu, żeby po kliknięciu na jakąś zakłądke strona się przeładowała i w menu aktualna zakładka została podświetlona lub podkreślona (ogólnie wyrózniona) jak np tu:

http://pogoda.onet.pl/2,miasta.html

chodzi mi o jakieś proste rozwiązanie i czy da się to zrealizować na html+css+php (bez javy) czy tego typu menu robi się na javie. Zaznaczam, że nie chcę robić oddzielnych podstron i żeby wszędzie było menu, tylko żeby było jedno menu a podstrony będą wyświetlane funkcją case w php.

Pozdrawiam i czekam na pomoc.
seiya
Wystarczy że dodasz wybranemu elementowi jakąś klasę (css) i odpowiednio ją zdefiniujesz.
-wwojteko-
no wlasnnie nie wiem co zdefiniowac, zeby było np podswietlone po zjechaniu myszki i po przeładowaniu strony. Może jakiś kawałek kodu?
Byłbym bardzo wdzięczny
chlebik
Masz tu linka i sie pobaw smile.gif


List-o-Matic Developer Tool
-wwojteko-
no spoko fajnie, ale nie ma tam tego czego szukam bo po kliknieciu przycisku wraca do swojgo wygladau startowego a ja chce zeby poprostu bylo zaznaczon to co jest w danej chwili klikniete nawet po przeladowaniu strony.
Ale stronka ciekawa i szybki efekt smile.gif
wizard3k
Dodaj dla aktywnego linka klasę np. active i ostyluj ją odpowiednio w CSS winksmiley.jpg. Aktywny link, to właśnie ten, który będzie podświetlony smile.gif
-wwojteko-
no własnie tak zrobiłem dla tego menu wygenerowanego przez tą stronkę i go jeszcze kilku i niestety nie działa mi to ;/ a o ile się nie myle to active dziła w momencie kliknięcia przynajmniej tak u mnie to w tej chwili działa.... Jak ktoś ma może kawałek kodu z działającego skryptu to byłbym wdzięczny bo szukam czegoś takiego już drugi dzień przejrzałem wiele różnych menu i żadne tego nie ma.

  1. .navlist
  2. {
  3. padding: 0 1px 1px;
  4. margin-left: 0;
  5. font: bold 12px Verdana, sans-serif;
  6. }
  7.  
  8. .navlist li
  9. {
  10. list-style: none;
  11. margin: 0;
  12. border-top: 1px solid gray;
  13. display: inline;
  14. }
  15.  
  16. .navlist li a
  17. {
  18. padding: 0.25em 0.5em 0.25em 0.75em;
  19. border-left: 1em solid #AAB;
  20. background: #CCD;
  21. text-decoration: none;
  22. }
  23.  
  24. .navlist li a:link { color: #448; }
  25. .navlist li a:visited { color: #667; }
  26.  
  27. .navlist li a:hover
  28. {
  29. border-color: #FE3;
  30. color: #FFF;
  31. background: #332;
  32. }
  33. .navlist li a:active
  34. {
  35. border-color: #66FF33;
  36. color: #3333FF;
  37. background: #FFFFFF;
  38. }
  39. </head>
  40.  
  41. <div class="navcontainer">
  42. <ul class="navlist">
  43. <li><a href="?poz2=2" title="Pozycja 1">Pozycja 1</a></li>
  44. <li><a href="?poz2=3" title="Pozycja 2">Pozycja 2</a></li>
  45. <li><a href="?poz2=4" title="Pozycja 3">Pozycja 3</a></li>
  46. </ul>
  47. </div>
itsme
i jeszcze jedna prosba na przyszlosc :-)

http://forum.php.pl/Tematyka_i_zasady_panu...ole_t42815.html

chodzi o TAG w temacie
-wwojteko-
I szukałem wczoraj przez pol nocy i nie znalazłem takiego czegoś, a jak już coś było to była jakaś java. Wiec jak by ktoś miał kawałek dziłającego takeigo menu to bym poprosił o kod, może gdzieś robię jakiś błąd i go powielam....
krzywy36
Ja też szukałem rozwiązania tego problemu tongue.gif i zrobiłem to po swojemu ;]
Jeśli strony masz robione np. tak
"twojastrona.pl/index.php?strona=strona1"
to w odnośniku do tej strony wstaw kod php a w nim instrukcje if, jeżeli zmienna "strona" będzie miała wartość
"strona1" to wyświetl atrybut klasy zrobionej do takich linków tongue.gif
trochę zagmatwane ale chyba zrozumiesz...
To jest mój sposób, narazie nic lepszego nie wymyśliłem tongue.gif
jak coś to pisz na gg 1024693 ;] Pozdro
Gość
Sorry, że post pod postem ale nie mogę edytować tongue.gif
Wie ktoś może jak zrobić, aby wykaz wyświetlał się jednocześnie w lini i bloku??
chodzi o to żeby poszczególne elementy wykazu czyli li były wyświetlane w lini (poziomo) ale żeby każdy z nich był osobnym blokiem ;]
jakieś pomysły??
vellkan
Witam smile.gif
Ja również podpinam się do prośby - jak zrobić taki efekt, że po wejściu na inną podstronę dany link był podświetlony ?
Wiem, że trzeba mu nadać inną klasę, to nie jest problem.
Ale nie wiem jak napisać funkcję, która sprawdzi kliknięty link i doda klasę active dla tego linka, a reszcie nie.

Pomożecie ?

http://vellkan.pl/creative - na tej stronie chciałbym to zrobić. Tam w menu jest efekt rollover menu, ale z tym sobie powinienem poradzić... smile.gif
krzywy36
Tak jak pisałem ;] masz załóżmy odnośnik
  1. <a href="index.php?id=about">cos</a>


to robisz to tak
  1. <a<?php
  2. if($_GET['id']==about)
  3. {
  4. echo " class=\"active\" ";
  5. }
  6. ?>
  7. href="index.php?id=about>cos</a>


i tak robisz z każdym linkiem ;]
klase active ustawiasz tak jak ma wygladac ten link aktualnej strony...
mam nadzieje ze pomogłem ;]
-wwojteko-
  1. .navlist li
  2. {
  3. list-style: none;
  4. display: inline;
  5. }


Tak bedzie wyświeltlane w linii i bez znaczków, a co do tego kodu z PHP i instrukcji IF to instrukcja mi działa ale coś nie chce mi brać tej klasy active...ale jeszcze pokombinuje smile.gif
krzywy36
To może spróbuj tak:
  1. <ul class="navlist">
  2. <li<?php
  3. if($_GET['id']==about)
  4. {
  5. echo " class=\"active\" ";
  6. }
  7. ?>><a href="index.php?id=about">cos</a>


a klase dla tego aktywnego odnosnika ustawiasz tak:

  1. ul.navlist li.active a:link, ul.navlist li.active a:visited
  2. {
  3. coś tam;
  4. }
-wwojteko-
Udało mi się i wielkie dzięki za ten kawałek PHPowy smile.gif. A cały kod wygląda tak może się komuś przyda:

  1. .navlist2 li
  2. {
  3. list-style: none;
  4. margin: 0;
  5. display: inline;
  6. }
  7. .navlist2 li a
  8. {
  9. padding: 5px 20px 5px 20px;
  10. border-left: 1em solid #AAB;
  11. background: #CCD;
  12. text-decoration: none;
  13. color:#00CC00;
  14. }
  15. .navlist2 li a:hover
  16. {
  17. border-color: #FE3;
  18. color: #FFF;
  19. background: #332;
  20. }
  21. .active
  22. {
  23. color:#FF0000;
  24. text-decoration:none;
  25. }
  26. .active a:link
  27. {
  28. border-color: #FE3;
  29. color: #FFF;
  30. background: #332;
  31. }
  32. .active a:visited
  33. {
  34. border-color: #FE3;
  35. color: #FFF;
  36. background: #332;
  37. }
  38. </head>
  39.  
  40.  
  41. <ul class="navlist2">
  42. <li
  43. <?php
  44. if($_GET['poz2']==2)
  45. {
  46. echo " class=\"active\" ";
  47. }
  48. ?>
  49. ><a href="?poz2=2">Poz 1</a>
  50. </li>
  51.  
  52.  
  53.  
  54. <li
  55. <?php
  56. if($_GET['poz2']==3)
  57. {
  58. echo " class=\"active\" ";
  59. }
  60. ?>
  61. ><a href="?poz2=3">Poz 2</a>
  62. </li>
  63.  
  64.  
  65. <li
  66. <?php
  67. if($_GET['poz2']==4)
  68. {
  69. echo " class=\"active\" ";
  70. }
  71. ?>
  72. ><a href="?poz2=4">Poz 2</a>
  73. </li>
  74. </ul>
vellkan
I u mnie wszystko działa exclamation.gif
krzywy36, jesteś wielki smile.gif

Co prawda mam teraz innego zgryza, ale myślę, że i z tym sobie poradzę smile.gif

Cieszę się, że tu zajrzałem smile.gif
Pozdrawiam,
vellkan
krzywy36
Cieszę się, że pomogłem ;]
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.