Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Podświetlanie aktualnego linka
kowalewski92
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 29.01.2013

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


Witam,
mam problem ze stroną. Chcę zrobić tak aby po kliknięciu w daną zakładkę została ona pomarańczowa. Analogicznie jak kliknę w następną to zmieni ona kolor na pomarańczowy, a ta stara wróci do stanu pierwotnego. Menu jest wczytywane za pomocą "include" jak i wszystkie zmienne treści. Zastanawiam się jak to zrobić? Czy ktoś może pomóc?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 17)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Problem jest banalnie prosty. Wystarczy że w linii 15 dasz taki kawałek kodu:
  1. echo 'Zaznaczona zakładko podświetl się na pomarańczowo';

Zadziała na 100%

ps (na wypadek jakbyś nie załapał aluzji):
pokaż kod...wróżek nie ma...
Go to the top of the page
+Quote Post
!*!
post
Post #3





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


http://jsfiddle.net/henrichro/SRBjz/

po stronie PHP

  1. if($_GET['nazwaStrony']){echo 'class=active';}
Go to the top of the page
+Quote Post
kowalewski92
post
Post #4





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 29.01.2013

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


Dzięki za odpowiedź. Czyli Javę wklejam w script i praży?
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




1) Nie javę a javascript lub jak nie lubisz długo to js
2) Nie wklejasz bezmyślnie, ale dopasowujesz do tego co masz. Jeśli by zadziałało dokładnie to co podał !*! to znaczyłoby, że z niego niezły wróżbita...
Go to the top of the page
+Quote Post
kowalewski92
post
Post #6





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 29.01.2013

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


Przepisałem to z tego linka: http://jsfiddle.net/henrichro/SRBjz/
do swojego pliku html i css. JS wstawiłem w <script></script>. Niestety po przepisaniu nie działa mi to? Czemu?
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Podany tam kod wymaga biblioteki jQuery.
Go to the top of the page
+Quote Post
!*!
post
Post #8





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


http://jsfiddle.net/henrichro/SRBjz/show/ przejrzyj źródło.
Go to the top of the page
+Quote Post
kowalewski92
post
Post #9





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 29.01.2013

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


Jednak to nie będzie działało ponieważ strona ulega przeładowaniu i to podświetlenie, które ma zostać znika po chwili bo od nowa się wczytuje. Jak kliknie się drugi raz po wczytaniu to już jest normalnie ale takie rozwiązanie jest bezsensu. Inaczej się chyba tego nie zrobi.
Go to the top of the page
+Quote Post
!*!
post
Post #10





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Podałem Ci dwa rozwiązania w JS i w PHP.
Go to the top of the page
+Quote Post
kowalewski92
post
Post #11





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 29.01.2013

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


Tylko ja nie do końca rozumiem jak mam to umieścić w moim pliku, a konkretnie gdzie. Wrzucam ten kod za "li" tak?
Mam osobny plik menu.php i co z nim dokładnie robię?
To jest moje menu:
Kod
<ul class="leftMenuList">
                        <li class="leftMenuList"><a href="micro_round#m15ml">Airless Dispensers</a></li>
                        <li style="list-style: none; display: inline">
                            <ul class="leftMenuList2">
                              <li class="leftMenuList2"><a href="micro_round#m15ml">Micro</a></li>
                              <li class="leftMenuList2"><a href="mezzo_round#m30ml">Mezzo</a></li>
                              <li class="leftMenuList2"><a href="mini_oval#m30ml">Mini</a></li>
                            </ul>
                      </li>
                        <li class="leftMenuList"><a href="aluminum#rb15ml">Cosmetic Jars</a></li>
                        <li style="list-style: none; display: inline">
                            <ul class="leftMenuList2">
                                <li class="leftMenuList2"><a href="aluminum#rb15ml">Aluminum</a></li>
                                <li class="leftMenuList2"><a href="san#so4ml">SAN</a></li>
                            </ul>
                    </li>
                        <li class="leftMenuList"><a href="glass3#drp3ml">Droppers</a></li>
                        <li style="list-style: none; display: inline">
                            <ul class="leftMenuList2">
                                <li class="leftMenuList2"><a href="glass3#drp3ml">Glass</a></li>
                            </ul>
                    </li>
                        <li class="leftMenuList"><a href="rollon#rln4ml">Roll On</a></li>
                        <li style="list-style: none; display: inline">
                            <ul class="leftMenuList2">
                                <li class="leftMenuList2"><a href="rollon#rln4ml">Glass</a></li>
                            </ul>
                    </li>
                    </ul>


Ten post edytował kowalewski92 30.01.2013, 22:14:51
Go to the top of the page
+Quote Post
!*!
post
Post #12





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Nie. Wrzucasz ten kod do LI, a dokładniej do elementów które chcesz podświetlić czyli nadać im klasę "active".

  1. <li <?php if($_GET['nazwaStrony']){echo 'class=active';} ?>>fooo</li>


Zakładam że wiesz co to jest nazwaStrony i dlaczego trzeba to zmienić.

Ten post edytował !*! 30.01.2013, 22:43:50
Go to the top of the page
+Quote Post
kowalewski92
post
Post #13





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 29.01.2013

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


Nie wiem... wrzucam to tak jak piszesz i mi to nie działa...
Wrzuciłem do li ten fragment php i w css'ie odniosłem się do active.

Ten post edytował kowalewski92 30.01.2013, 23:05:08
Go to the top of the page
+Quote Post
!*!
post
Post #14





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Zobacz czym jest GET oraz jak ją odbierać. Zamień ją na swoją jaką masz w linku index?strona=A itp.
Go to the top of the page
+Quote Post
kowalewski92
post
Post #15





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 29.01.2013

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


Ja nie miałem nic wspólnego z PHP, po prostu chce edytować istniejącą już stronę. Czy możesz mi dać po prostu gotowca? Wrzuciłem plik menu.php.
Mam to:

<li class="leftMenuList2"><a href="micro_round#m15ml">Micro</a></li>,

czyli z tego robię coś takiego:

<li <?php if($_GET['micro_round']){echo 'class=active';} ?>class="leftMenuList2"><a href="micro_round#m15ml">Micro</a></li>,

tak? Czy taka klasa leftMenuList2 musi zniknąć stamtąd? Nie mogę teraz tego sprawdzić czy działa bo nie mam takiej możliwości aktualnie.

Ten post edytował kowalewski92 31.01.2013, 11:23:10
Go to the top of the page
+Quote Post
!*!
post
Post #16





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


w class może być kilka parametrów, czyli jak link jest aktywny to możesz zapisać "leftMenuList2 active". Wywal te kotwice.

  1. <li class="leftcostam<?php if(isset($GET['page']) AND $GET['page'] == 'micro_round')){echo 'active'}?>">


Gdzie GET page to zmienna która jest u Ciebie w linku, pasek przeglądarki.
Go to the top of the page
+Quote Post
kowalewski92
post
Post #17





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 29.01.2013

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


Mhm, tylko u mnie na stronie jest tak, że jak wejdę w którąś zakładkę to jest dajmy na to: micro_round#a zmienisz zakładkę na tej podstronie to będzie micro_round#b czyli w page'u mogę dać micro_round? Żeby dla niego był active.
Go to the top of the page
+Quote Post
!*!
post
Post #18





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Zakładki zmieniasz na podstawie JS, czyli tak jak napisałem wyżej i nie ma prawa być wtedy żadnego przeładowania, chyba że napisałeś to źle. Pokaż kod.
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: 4.10.2025 - 13:21