Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jquery] Zaznaczenie zakładek
k00sl
post 17.08.2010, 19:53:42
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 20.04.2009

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


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

Ten post edytował k00sl 17.08.2010, 20:01:44
Go to the top of the page
+Quote Post
matino
post 23.08.2010, 12:33:36
Post #2





Grupa: Zarejestrowani
Postów: 175
Pomógł: 30
Dołączył: 9.08.2007

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


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


Ten post edytował matino 23.08.2010, 12:34:31
Go to the top of the page
+Quote Post
wiiir
post 27.08.2010, 20:47:15
Post #3





Grupa: Zarejestrowani
Postów: 260
Pomógł: 34
Dołączył: 22.02.2010

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


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
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: 16.07.2025 - 19:05