Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [AJAX][PHP]Jak wyróżnić wybraną opcję w menu?
cent4
post 28.09.2012, 08:22:04
Post #1





Grupa: Zarejestrowani
Postów: 415
Pomógł: 0
Dołączył: 24.12.2008

Ostrzeżenie: (10%)
X----


Witam.
Mam menu (strony ładowane są do div'a ajaxem) i chcę żeby po wybranej opcj w menu została ona specjalnie zaznaczona powiedzmy jakimś kolorem, jak kliknie się inną opcję tamta wraca do swoich ustawień, a ta druga się podświetla...
moje menu:
  1. <a style="cursor:pointer" target="_parent" value="load()" id="load_home">STRONA GŁÓWNA</a>
  2. <a style="cursor:pointer" target="_parent" value="load()" id="load_program">PROGRAM</a>

moja funkcja:
  1. <script type="text/javascript">
  2. $.ajaxSetup ({
  3. cache: false
  4. });
  5. var ajax_load = "<br><br><br><CENTER><img class='loading' src='images/load.gif' alt='' /></CENTER>";
  6.  
  7. $("#SRODEK").html(ajax_load).load("ajax/home.php");
  8.  
  9. $("#load_home").click(function(){
  10. $("#SRODEK").html(ajax_load).load("ajax/home.php");
  11. });
  12.  
  13. $("#load_program").click(function(){
  14. $("#SRODEK").html(ajax_load).load("ajax/program.php");
  15. if (this.href == "/ajax/program.php") { // sprawdzamy, czy adres odnośnika jest równy aktualnemu adresowi
  16. }
  17. });
  18.  
  19.  
  20. $("#load_dom").click(function(){
  21. $("#SRODEK")
  22. .html(ajax_load)
  23. .load(loadUrl + " #picture");
  24. });
  25. </script>



Jak dam coś takiego to zaznacza mi się ale potem się nie odznacza:
  1. $("#load_program").click(function(){
  2. $("#SRODEK").html(ajax_load).load("ajax/program.php");
  3. $(this).css('background-color', 'white');
  4. });
Go to the top of the page
+Quote Post
b4rt3kk
post 28.09.2012, 08:29:19
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Może sprawdzaj aktualny link i jeśli jest zgodny z adresem odnośnika to nadawaj mu odpowiedni kolor?

  1. $(function(){
  2. $('a').each(function(){
  3. if ($(this).attr('href') == window.location.pathname) {
  4. // zmień tło czy coś
  5. }
  6. });
  7. });


Ten post edytował b4rt3kk 28.09.2012, 08:29:53


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
cent4
post 28.09.2012, 08:50:56
Post #3





Grupa: Zarejestrowani
Postów: 415
Pomógł: 0
Dołączył: 24.12.2008

Ostrzeżenie: (10%)
X----


Coś nie umiem tego zastosować...
Co mam tam wpisać w tej funkcji dla podanej np. podstrony program...?
Go to the top of the page
+Quote Post
b4rt3kk
post 28.09.2012, 09:05:30
Post #4





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


To tylko taki przykład, dla każdego a sprawdzany jest atrybut href, którego u Ciebie brakuje, więc możesz sprawdzać np. id, następnie porównywany jest z aktualnym adresem, jeśli atrybut jest powiązany z aktualnym adresem wtedy nadajesz odpowiednie tło temu elementowi. W przypadku id musisz ustalić jakieś powiązanie z adresem, wyciągnąć np. load_home czy load_program i z aktualnego linka tak samo, np. http://strona.pl/home.php


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
Arcioch
post 28.09.2012, 09:30:44
Post #5





Grupa: Zarejestrowani
Postów: 324
Pomógł: 110
Dołączył: 18.09.2012

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


Możesz też po clicku na odpowiednie link nadawać po prostu jakąś klasę active a reszcie elementów ją usuwać. Oczywiście klasa musi być odpowiednio ostylowana w css wink.gif

  1. $("#load_home").click(function(){
  2. $("#SRODEK").html(ajax_load).load("ajax/home.php");
  3. $(this).addClass('active');
  4. $('#load_program, #load_dom').removeClass('active');
  5. });


Trochę łopatologiczne rozwiązanie wink.gif Tylko musisz pamiętać o odpowiednim dostosowaniu funkcji aby click nie był szybszy od loada wink.gif
Go to the top of the page
+Quote Post
cent4
post 28.09.2012, 09:56:41
Post #6





Grupa: Zarejestrowani
Postów: 415
Pomógł: 0
Dołączył: 24.12.2008

Ostrzeżenie: (10%)
X----


Wielkie dzięki Arcioch - jest ok.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 18:43