Слайдер контента

Либо слайдер, либо вертикальные вкладки (tabs) для контента суть одна. Работает всё довольно просто. У нас есть ul список с 3-я кнопками, и каждая кнопка имеет связь с содержимым правой панели.

Разметка HTML

В шапке подключаем скрипты:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript" src="jquery.scrollto.js"></script>

HTML состоит из двух разделов:
UL список: это список кнопок, добавить можно любое количество или же оформить так, как вы захотите.
Слайдер: В слайдер мы помещаем все содержимое панелей. В нашем случае, 3 панели с уникальным идентификатором panel-1, panel-2 и panel-3. Панель мы будем скрывать с помощью overflow:hidden в классе mask.

<div id="hero-slider">
    <ul>
        <li><a href="#" rel="#panel-1" class="active">Item 1</a></li>
        <li><a href="#" rel="#panel-2">Item 2</a></li>
        <li><a href="#" rel="#panel-3">Item 3</a></li>
    </ul>
    <div class="mask">
        <div class="slider-body">
            <div class="panel" id="panel-1">
                <h2>Название 1</h2>
                <p>Контент 1</p>
            </div>
            <div class="panel" id="panel-2">
                <h2>Название 2</h2>
                <p>Контент 2</p>
            </div>
            <div class="panel" id="panel-3">
                <h2>Название 3</h2>
                <p>Контент 3</p>
            </div>
        </div>
    </div>
    <div class="clear"></div>
</div>

CSS

Единственной сложностью в CSS будет .mask, нужно будет убедиться, что установлен overflow для hidden, чтобы скрыть панели. А также размер panel и mask должны быть одинаковыми.

#hero-slider {
    text-align:left;
    background-color:#efefef;
    border:1px solid #ccc; width:450px;
    -moz-border-radius:10px;
    -webkit-border-radius:10px;
    margin:0 auto;
    font-family:arial;
}
 
#hero-slider .mask {
    float:left;
    width:300px;
    height:280px;
    margin:15px 0 0 10px;
    overflow:hidden;
}
 
#hero-slider .panel {
    width:300px;
    height:280px;
    text-align:left;
}
 
#hero-slider ul {
    margin:0;
    padding:15px 15px 0 15px;
    list-style:none;
    float:left;
    border-right:1px solid #dedede;
    height:285px;
}
 
#hero-slider ul li {
    margin:10px 0;
}
 
#hero-slider ul a {
    outline:none;
    text-decoration: underline;
    display:block;
    width:75px;
    height:74px;
    text-indent:-999em;
}
 
#hero-slider a {
    background: url(button.png) no-repeat 0 0;
}
 
#hero-slider ul a.active {
    background-position: -75px;
}
 
.panel h2 {
    padding:15px 0 0 0;
    color:#0058a9;
}
 
.panel p {
    color:#666;
}
 
.clear {clear:both}

javascript

//append click event to the UL list anchor tag
$('#hero-slider ul a').click(function () {
     
    //reset all the items
    $('#hero-slider ul a').removeClass('active');
         
    //set current item as active
    $(this).addClass('active');
         
    //scroll it to the right position
    $('.mask').scrollTo($(this).attr('rel'), 300);
         
    //disable click event
       return false;
         
});

СКАЧАТЬСкачек: 990
5,38 Kb
Кто скачал?

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