• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

jQuery - Tabs

Object Storage Arubacloud
0 głosów
203 wizyt
pytanie zadane 2 kwietnia 2017 w JavaScript przez errorfree Nowicjusz (180 p.)
edycja 2 kwietnia 2017 przez errorfree

Witam wszystkich,

Próbuje zrobić proste zakładki i chciałbym trzymać się wytycznych W3C oraz zasady czystego kodu. Zakładki mają być banalne. W pozycji horyzontalnej mają być np. 3 zakładki, które po kliknięciu pokaż mi zawartość poszczególnych zakładek, bez konieczności przeładowania całej strony i dołączania kolejnych plików html.

Na czym polega problem. Otóż mam 3 warianty.

Wariant najbardziej pożądany (nie działa):

http://kursjs.pl/kurs/jquery/tabs.php

Zakładki pojawiają się ale po kliknięciu nic się nie dzieje. Problem leży chyba w dołączonych bibliotek ale nie udało mi się odnaleźć przyczynę.

Wariant 2 (działa ale poszczególne zakładki mają animowane najazdy a ja chce najzwyklejsze Show i Hide - modyfikacja kodu JS nie udała mi się):



<div id="tabbed_box_1" class="tabbed_box">  
    <h1>Zakładki z jQuery<small>demo</small></h1>  
    <div class="tabbed_area">  
        <ul class="tabs">  
    <li><a href="#" title="content_1" class="tab active">Najnowsze</a></li>  
    <li><a href="#" title="content_2" class="tab">Kategorie</a></li>  
    <li><a href="#" title="content_3" class="tab">Archiwalne</a></li>  
</ul>  
        <div id="content_1" class="content">  
            <ul>  
                <li><a href="#">Anglia: Szczęsny szybko pokonany</a></li>  
            </ul>  
        </div>  
        <div id="content_2" class="content">  
            <ul>  
                <li><a href="#">Sport<small>6 Postów</small></a></li>    
            </ul>  
        </div>  
        <div id="content_3" class="content">  
            <ul>  
                <li><a href="#">Grudzień 2013<small>6 Postów</small></a></li>  
            </ul>  
        </div>  
</div>

 

   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>  
   <script>
  $(document).ready(function(){  
      
    // Klikniecie w klase tab 
    $("a.tab").click(function () {  
          
        // usuniecie klasy active  
        $(".active").removeClass("active");  
          
        // dodanie klasy active do kliknietego taba 
        $(this).addClass("active");  
          
        // rozwiniecie tresci
        $(".content").slideUp();  
          
        // dodanie atrybutu title do klikietego taba.  
        var content_show = $(this).attr("title");  
        $("#"+content_show).slideDown();  
        
    });  
  
  });  
 </script> 
.a{color:#333;  
    font-weight:normal;  
    font-size:12px;  
    font-family:Verdana, Arial, Helvetica, sans-serif;  
    text-transform:uppercase;  
    position:relative;  
	text-decoration:none;
    text-align:center;
	padding-top:10px;
	display:block;}
.a:hover{text-decoration:underline;}
	
#tabbed_box_1{  
    margin:0px auto 0px auto;  
    width:300px;  
}  
 
.tabbed_box h1 {  
    font-family:Arial, Helvetica, sans-serif;  
    font-size:23px;  
    color:#858585; 
    letter-spacing:-1px;  
    margin-bottom:10px;  
}  
.tabbed_box h1 small {  
    color:#e3e9ec;  
    font-weight:normal;  
    font-size:9px;  
    font-family:Verdana, Arial, Helvetica, sans-serif;  
    text-transform:uppercase;  
    position:relative;  
    top:-4px;  
    left:6px;  
    letter-spacing:0px;  
}  
.tabbed_area {  
    border:1px solid #494e52;  
    background-color:#333;  
    padding:8px;      
}
ul.tabs {  
    margin:0px; padding:0px;  
}  
ul.tabs li {  
    list-style:none;  
    display:inline;  
} 
ul.tabs li a {  
    background-color:#eee;  
    color:#333;  
    padding:8px 11px 8px 12px; 
    text-decoration:none;  
    font-size:9px;  
    font-family:Verdana, Arial, Helvetica, sans-serif;  
    font-weight:bold;  
    text-transform:uppercase;  
    border:1px solid #464c54;   
}  
ul.tabs li a:hover {  
    background-color:#eed;  
    border-color:#2f343a;  
}  
ul.tabs li a.active {  
    background-color:#eee;  
    color:red;  
    border-top:1px solid red;   
     border:3px solid #eee; 
} 
 
.content {  
    background-color:#ffffff;  
    padding:10px;  
    border:1px solid #eee;   
    border-top:0;  
}  
#content_2, #content_3 { display:none; }  
 
ul.tabs {  
    margin:0px; padding:0px;  
    margin-top:5px;  
    margin-bottom:6px;  
}  
.content ul {  
    margin:0px;  
    padding:0px 20px 0px 20px;  
}  
.content ul li {  
    list-style:none;  
    border-bottom:1px solid #d6dde0;  
    padding-top:15px;  
    padding-bottom:15px;  
    font-size:13px;  
}  
.content ul li a {  
    text-decoration:none;  
    color:#333;  
    font-family:Verdana, Arial, Helvetica, sans-serif; 
     
}  
.content ul li a:hover{
    text-decoration:underline; 
}
.content ul li a small {  
    color:#8b959c;  
    font-size:9px;  
    text-transform:uppercase;  
    font-family:Verdana, Arial, Helvetica, sans-serif;  
    position:relative;  
    left:4px;  
    top:0px;  
} 
.content ul li:last-child {  
    border-bottom:none;  
}  
ul.tabs li a {  
    background:#999; 
}  
ul.tabs li a.active {  
    background:#eee; 
        
}  
.content {  
    background:#eee;   
} 

Wariant 3 (działa nawet tak jak bym chciał ale został wygenerowany w generatorze i jest wielka biblią - na pewno da się to zrobić prościej i bardziej optymalnie niż ponad 100 linijek kodu).

Kodu nie wklejam, bo developer płakał jak sprawdzał.

Proszę o pomoc i z góry dziękuje za wszelkie wskazówki.

komentarz 2 kwietnia 2017 przez xmentor Nałogowiec (49,520 p.)

wytycznych W3S

y?

komentarz 2 kwietnia 2017 przez errorfree Nowicjusz (180 p.)
W3C - literówka sorry

1 odpowiedź

0 głosów
odpowiedź 3 kwietnia 2017 przez errorfree Nowicjusz (180 p.)

Problem rozwiązany użyłem gotowej biblioteki jQuery (jquery.ui-1.10.4.tabs.min.js) a skrypt zredukowałem do kilki linii:

<script type="text/javascript">
$(function() {
	$( "#Tabs1" ).tabs(); 
});
</script>

 

Podobne pytania

0 głosów
3 odpowiedzi 276 wizyt
pytanie zadane 2 sierpnia 2016 w JavaScript przez Kamila Użytkownik (680 p.)
0 głosów
1 odpowiedź 200 wizyt
pytanie zadane 2 listopada 2017 w JavaScript przez ziemjok Gaduła (4,160 p.)
0 głosów
1 odpowiedź 1,558 wizyt
pytanie zadane 8 czerwca 2015 w JavaScript przez Mizukage Pasjonat (21,750 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...