Сегодня поговорим о создании простых вкладок на jQuery.

Разметка HTML

Использовать будем неупорядоченный список для вкладок, который связан будет с контейнером "tab_content", расположенным прямо под списком. Обратите внимание, что каждый элемент списка (вкладки) имеет атрибут href, который соответствует идентификаторам контейнера "tab_content". Для SEO правильней будет задавать ID по ключевым словам контента, но мы для наглядности используем tab1, tab2 ...

<ul class="tabs">
     <li class="active"><a href="#tab1">Цунами</a></li>
     <li class=""><a href="#tab2">Два спутника</a></li>
</ul>
<div class="tab_container">
     <div id="tab1" class="tab_content">
         <!-- Контент -->
     </div>
     <div id="tab2" class="tab_content">
         <!-- Контент -->
     </div>
</div>

CSS

CSS для вкладок (Tab)

ul.tabs {
    margin: 0;
    padding: 0;
    float: left;
    list-style: none;
    height: 32px;
    border-bottom: 1px solid #999;
    border-left: 1px solid #999;
    width: 100%;
}
ul.tabs li {
    float: left;
    margin: 0;
    padding: 0;
    height: 31px;
    line-height: 31px;
    border: 1px solid #999;
    border-left: none;
    margin-bottom: -1px;
    background: #e0e0e0;
    overflow: hidden;
    position: relative;
}
ul.tabs li a {
    text-decoration: none;
    color: #000;
    display: block;
    font-size: 1.2em;
    padding: 0 20px;
    border: 1px solid #fff;
    outline: none;
}
ul.tabs li a:hover {
    background: #ccc;
}   
html ul.tabs li.active, html ul.tabs li.active a:hover  {
    background: #fff;
    border-bottom: 1px solid #fff;
}

CSS для контейнера tab_content

.tab_container {
    border: 1px solid #999;
    border-top: none;
    clear: both;
    float: left;
    width: 100%;
    background: #fff;
    -moz-border-radius-bottomright: 5px;
    -khtml-border-radius-bottomright: 5px;
    -webkit-border-bottom-right-radius: 5px;
    -moz-border-radius-bottomleft: 5px;
    -khtml-border-radius-bottomleft: 5px;
    -webkit-border-bottom-left-radius: 5px;
}
.tab_content {
    padding: 20px;
    font-size: 1.2em;
}

javascript

Подключаем jQuery библиотеку и инициализируем скрипт:

$(document).ready(function() {

    //Действия по умолчанию
    $(".tab_content").hide(); //скрыть весь контент
    $("ul.tabs li:first").addClass("active").show(); //Активировать первую вкладку
    $(".tab_content:first").show(); //Показать контент первой вкладки
   
    //Событие по клику
    $("ul.tabs li").click(function() {
        $("ul.tabs li").removeClass("active"); //Удалить "active" класс
        $(this).addClass("active"); //Добавить "active" для выбранной вкладки
        $(".tab_content").hide(); //Скрыть контент вкладки
        var activeTab = $(this).find("a").attr("href"); //Найти значение атрибута, чтобы определить активный таб + контент
        $(activeTab).fadeIn(); //Исчезновение активного контента
        return false;
    });

});

СКАЧАТЬСкачек: 2164
40,69 Kb
Кто скачал?

ДЕМОПосмотреть
пример
CSS3 + jQuery