![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 339 Pomógł: 12 Dołączył: 22.11.2008 Ostrzeżenie: (20%) ![]() ![]() |
Cześć:)
Chciałbym zrobić menu, które gdy jestem na danej stronie zmienia wygląd. Przykład: Normalnie menu: home site1 site2 site3 Gdy jesteśmy na site2: home site1 site2 site3 Niestety używając a.menu:active nie udało mi się osiągnąć tego efektu, w jaki sposób mogę uzyskać taki efekt? edit: coś takiego: (IMG:http://img132.imageshack.us/img132/752/adasdsafyc4.jpg) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował Strarus 4.01.2009, 18:55:49 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 274 Pomógł: 54 Dołączył: 2.05.2006 Skąd: Nadarzyn Ostrzeżenie: (0%) ![]() ![]() |
Na pewno nie przez
Kod a:active bo to sie 'wykonuje' jak klikasz na link.w php definiuj sobie ktory link ma byc 'aktywny' i potem do dopowiedniego elementu <a> dodawaj sobie klase css np. 'active'. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 339 Pomógł: 12 Dołączył: 22.11.2008 Ostrzeżenie: (20%) ![]() ![]() |
dzięki, zaraz wypróbuję (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 555 Pomógł: 84 Dołączył: 20.02.2008 Skąd: Małopolska Ostrzeżenie: (0%) ![]() ![]() |
Ja bym to zrobił z poziomu PHP, w sensie, że:
...a jeśli masz kilka tych linków to zrób sobie z nimi tablicę i wszystko ustaw w pętli (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował Skie 4.01.2009, 18:59:47 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 339 Pomógł: 12 Dołączył: 22.11.2008 Ostrzeżenie: (20%) ![]() ![]() |
I to do pętli? czy jak bo chyba nie rozumiem... (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Bo mam menu z np. 5 linkami: home forum galeria inne inne2 i jak to niby zrobić, żeby było podświetlany aktywny link? Ten post edytował Strarus 4.01.2009, 19:01:18 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 555 Pomógł: 84 Dołączył: 20.02.2008 Skąd: Małopolska Ostrzeżenie: (0%) ![]() ![]() |
Np.
Możesz też domyślnie każdemu na początku ustawić class=normalny, a na podmienić, np. za pomocą substr() klasę tylko dla aktywnego linka - być może takie coś byłoby wydajniejsze niż pętla z if'em. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 339 Pomógł: 12 Dołączył: 22.11.2008 Ostrzeżenie: (20%) ![]() ![]() |
tylko jest jeden problem. ja mam dynamicznie generowane strony: index.php?site=costam index.php?site=costam2 itd. wtedy PHP_SELF nie działa...
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 274 Pomógł: 54 Dołączył: 2.05.2006 Skąd: Nadarzyn Ostrzeżenie: (0%) ![]() ![]() |
Kod $_SERVER['REQUEST_URI'] tylko nie pisz od razu ze nie dziala. zobacz co to zwraca i jak to wykorzystac.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 555 Pomógł: 84 Dołączył: 20.02.2008 Skąd: Małopolska Ostrzeżenie: (0%) ![]() ![]() |
Hmmm... no to możesz zamiast $_SERVER['PHP_SELF'] zrobić jakąś własną zmienną i w każdym pliku ją nadpisywać, czyli np.:
I sposób:
I w każej podstronie tak robić:
Gdzie $adres jest adresem podstronki - np. index.php?action=main. II sposób: Rafał Filipek: nie pomyślałem o tym, możesz tak zrobić jak on o tym pisał:
Ten post edytował Skie 4.01.2009, 19:24:21 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 339 Pomógł: 12 Dołączył: 22.11.2008 Ostrzeżenie: (20%) ![]() ![]() |
Właśnie.
Tylko, że nie pokazuje się w źródle strony class aktywny jak jestem na danej stronie. Jeszcze myślałem nad opcją taką, że: jeśli adres jest (np.) index.php?site=about to pokaz (i tu całe menu ze zmienioną tylko tą klasą) ale to by było samobójstwo (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) jakieś 150 linijek kodu (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) na samo menu (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) Może jednak jakieś inne metody? Albo modyfikacja tej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (tej co podałem kod) |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 274 Pomógł: 54 Dołączył: 2.05.2006 Skąd: Nadarzyn Ostrzeżenie: (0%) ![]() ![]() |
Myfgod. Prosiłem cię żebyś sprawdził co zwraca ta zmienna, ok. łopatologicznie;
plik test.php
wywołuje Kod http://localhost/test.php?cos=tam dostaje Kod /test.php?cos=tam jak widzisz Kod /test.php?cos=tam !== test.php?cos=tam jasność ? |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 555 Pomógł: 84 Dołączył: 20.02.2008 Skąd: Małopolska Ostrzeżenie: (0%) ![]() ![]() |
Aaa... błąd jest w tym co Ci podałem - moja wina, nie sprawdziłem dokładnie co zwraca $_SERVER['REQUEST_URI'], oczywiście tak powinno być:
lub
... Brakowało "/" (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 339 Pomógł: 12 Dołączył: 22.11.2008 Ostrzeżenie: (20%) ![]() ![]() |
troszkę lepiej (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) zaraz popróbuję (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Dzięki @Skie - Twój skrypt działa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Teraz sobie przeanalizuje i zastosuje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Stawiam Wam pomógł bo oboje bardzo mi pomogliście (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#14
|
|
Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
jeśli chcesz zobaczyć ja rozwiązałem to tak: klik
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 30.08.2025 - 10:22 |