Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jquery] Zaznaczenie zakładek
Forum PHP.pl > Forum > XML, AJAX
k00sl
Witam serdecznie,

Od pewnego czasu męczę się ze stworzeniem skryptu zaznaczającego przyciski.

Kod HTML:

  1.  
  2. <div id="navigation">
  3. <ul>
  4. <li><a href="index.html#test1" class="test1_a" id="test1"></a></li>
  5. <li><a href="index.html#test2" class="test2" id="test2"></a></li>
  6. <li><a href="index.html#test3" class="test3" id="test3"></a></li>
  7. <li><a href="index.html#test4" class="test4" id="test4"></a></li>
  8. <li><a href="index.html#test5" class="test5" id="test5"></a></li>
  9. </ul>
  10.  


Klasy test1_a, test2_a, test3_a, test4_a, test5_a to style zaznaczonych zakładek ( każda różni się wyglądem ).


i teraz moje pytanie do Was smile.gif , jak szybko i wydajnie podmienić style po kliknięciu w link? Znam jedynie najgorsze rozwiązanie:

[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function() {
  2.  
  3. $("#test1").click(function(){
  4.  
  5. $("#test1").removeClass("test1");
  6. $("#test1").addClass("test1_a");
  7.  
  8. $("#test2").removeClass("test2_a");
  9. $("#test2").addClass("test2");
  10.  
  11. $("#test3").removeClass("test3_a");
  12. $("#test3").addClass("test3");
  13.  
  14. $("#test4").removeClass("test4_a");
  15. $("#test4").addClass("test4");
  16.  
  17. $("#test5").removeClass("test5_a");
  18. $("#test5").addClass("test5");
  19.  
  20. });
  21.  
  22. });
[JAVASCRIPT] pobierz, plaintext


i tak dla każdego przycisku...


Znalazłem ten tutorial:


http://ferrante.pl/2008/03/24/jquery-to-latwe-5-zakladki/


Jest tam opisane jak dobrze napisać tego rodzaju skrypt, ale w przypadku gdy wszystkie tła są jednakowe. Moja sytuacja jest odwrotna. Jestem bardzo słaby w JS'ie i prosiłbym o Waszą pomoc, aby móc wydajnie zmienić style dla poszczególnych elementów. Z góry dziękuję.

Pozdrawiam
matino
Nie sprawdzałem czy działa, ale coś w tym stylu ma na pewno mniej kodu smile.gif
[JAVASCRIPT] pobierz, plaintext
  1.  
  2. $(document).ready(function() {
  3. $("navigation li a").click(function() {
  4. var clicked_id = $(this).attr("id");
  5. $("navigation li a").each(function() {
  6. $(this).removeClass($(this).attr("class"));
  7. if ($(this).attr("id") != clicked_id)
  8. $(this).addClass(id);
  9. });
  10. $(this).addClass(clicked_id + "_a")
  11. });
  12. });
  13.  
[JAVASCRIPT] pobierz, plaintext
wiiir
Cytat(matino @ 23.08.2010, 13:33:36 ) *
Nie sprawdzałem czy działa, ale coś w tym stylu ma na pewno mniej kodu smile.gif
[JAVASCRIPT] pobierz, plaintext
  1.  
  2. $(document).ready(function() {
  3. $("navigation li a").click(function() {
  4. var clicked_id = $(this).attr("id");
  5. $("navigation li a").each(function() {
  6. $(this).removeClass($(this).attr("class"));
  7. if ($(this).attr("id") != clicked_id)
  8. $(this).addClass(id);
  9. });
  10. $(this).addClass(clicked_id + "_a")
  11. });
  12. });
  13.  
[JAVASCRIPT] pobierz, plaintext


przed navigation brakuje #, i powinno dzialac
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.