5 003 Скрипты / Tabs

Универсальные вкладки на jQuery


Простая реализация создания горизонтальных или вертикально расположенных вкладок на jQuery с использованием нескольких строк кода для управления вкладками.

HTML

Структура для горизонтального расположения вкладок:

<div class="section">
    <ul class="tabs">
        <li class="current">Первая вкладка</li>
        <li>Вторая вкладка</li>
        <li>Третья вкладка</li>
        <li>Червертая вкладка</li>
    </ul>
    <div class="box visible">
        <p>параграф</p>
    </div>
    <div class="box">
        <p>параграф</p>
    </div>
    <div class="box">
        <p>параграф</p>
    </div>
    <div class="box">
        <p>параграф</p>
    </div>
</div>
И структура html для вертикального расположения:
<div class="section vertical">
    <ul class="tabs">
        <li class="current">Первая вкладка</li>
        <li>Вторая вкладка</li>
        <li>Третья вкладка</li>
        <li>Червертая вкладка</li>
    </ul>
    <div class="box visible">
        <p>параграф</p>
    </div>
    <div class="box">
        <p>параграф</p>
    </div>
    <div class="box">
        <p>параграф</p>
    </div>
    <div class="box">
        <p>параграф</p>
    </div>
</div>

CSS

Стили для горизонтального и вертикального расположения вкладок:

.section {
    width: 600px;
    background: #EFEFEF;
    margin: 0 0 30px;
}
ul.tabs {
    height: 28px;
    line-height: 25px;
    list-style: none;
    border-bottom: 1px solid #DDD;
    background: #FFF;
}
.tabs li {
    float: left;
    display: inline;
    margin: 0 1px -1px 0;
    padding: 0 13px 1px;
    color: #777;
    cursor: pointer;
    background: #F9F9F9;
    border: 1px solid #E4E4E4;
    border-bottom: 1px solid #F9F9F9;
    position: relative;
}
.tabs li:hover,
.vertical .tabs li:hover {
    color: #F70;
    padding: 0 13px;
    background: #FFFFDF;
    border: 1px solid #FFCA95;
}
.tabs li.current {
    color: #444;
    background: #EFEFEF;
    padding: 0 13px 2px;
    border: 1px solid #D4D4D4;
    border-bottom: 1px solid #EFEFEF;
}
.box {
    display: none;
    border: 1px solid #D4D4D4;
  border-width: 0 1px 1px;
    background: #EFEFEF;
    padding: 0 12px;
}
.box.visible {
    display: block;
}
.section.vertical {
    width: 440px;
    border-left: 160px solid #FFF;
}
.vertical .tabs {
    width: 160px;
    float: left;
    display: inline;
    margin: 0 0 0 -160px;
}
.vertical .tabs li {
    padding: 0 13px;
    margin: 0 0 1px;
    border: 1px solid #E4E4E4;
    border-right: 1px solid #F9F9F9;
    width: 132px;
    height: 25px;
}
.vertical .tabs li:hover {
    width: 131px;
}
.vertical .tabs li.current {
    width: 133px;
    color: #444;
    background: #EFEFEF;
    border: 1px solid #D4D4D4;
  border-right: 1px solid #EFEFEF;
  margin-right: -1px;
}
.vertical .box {
  border-width: 1px;
}

JS

Подключаем jQuery и скрипт для вкладок:

<script type="text/jаvascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/jаvascript" src="tabs.js"></script>
Содержимое файла tabs.js:
(function($) {
$(function() {
    $('ul.tabs').delegate('li:not(.current)', 'click', function() {
        $(this).addClass('current').siblings().removeClass('current')
            .parents('div.section').find('div.box').hide().eq($(this).index()).fadeIn(150);
    })
})
})(jQuery)
Скачать 2825Загрузок 2,65 Kb
Демо

Комментарии

  • Facebook
  • Вконтакте

Похожие статьи