3 019 Скрипты / Animation

Раздвижные контейнеры с подписями


Создаем анимацию скольжения элементов в контейнере или проще, смена слайдов при наведении курсора.

Скользящая анимация работает по одному и тому же принципу. Берется div тег (в нашем случае .boxgrid) внутри которого находятся еще элементы, с ними то и производятся дальнейшие действия.

HTML

Вот пример одного контейнера.

            <div class="boxgrid captionfull">
                <img src="lavigne.jpg"/>
                <div class="cover boxcaption">
                    <h3>Avril Lavigne</h3>
                    <p>Певица<br/><a href="http://www.facebook.com/avrillavigne" target="_BLANK">В Facebook</a></p>
                </div>        
            </div>

CSS

Ниже приведен класс для контейнера div (.boxgrid), который позиционируем относительно. Изображение которое будет находится в .boxgrid будет абсолютно позиционировано по левому верхнему углу.

.boxgrid{
    width: 325px;
    height: 260px;
    margin:10px;
    float:left;
    background:#161613;
    border: solid 2px #8399AF;
    overflow: hidden;
    position: relative;
}
.boxgrid img{
    position: absolute;
    top: 0;
    left: 0;
    border: 0;
}
Если вы не будете использовать полупрозрачные подписи, то пропускайте этот шаг и переходите к jQuery.
.boxcaption{
    float: left;
    position: absolute;
    background: #000;
    height: 100px;
    width: 100%;
    opacity: .8;
    /* Для IE 5-7 */
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
    /* Для IE 8 */
    -MS-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
     }
И укажем стартовые положения элемента подписи.
 .captionfull .boxcaption {
     top: 260;
     left: 0;
 }
 .caption .boxcaption {
     top: 220;
     left: 0;
 }

JS

Добавим теперь саму анимацию скольжения (и не забываем подключить jquery библиотеку):

$(document).ready(function(){
    //To switch directions up/down and left/right just place a "-" in front of the top/left attribute
    //Vertical Sliding
    $('.boxgrid.slidedown').hover(function(){
        $(".cover", this).stop().animate({top:'-260px'},{queue:false,duration:300});
    }, function() {
        $(".cover", this).stop().animate({top:'0px'},{queue:false,duration:300});
    });
    //Horizontal Sliding
    $('.boxgrid.slideright').hover(function(){
        $(".cover", this).stop().animate({left:'325px'},{queue:false,duration:300});
    }, function() {
        $(".cover", this).stop().animate({left:'0px'},{queue:false,duration:300});
    });
    //Diagnal Sliding
    $('.boxgrid.thecombo').hover(function(){
        $(".cover", this).stop().animate({top:'260px', left:'325px'},{queue:false,duration:300});
    }, function() {
        $(".cover", this).stop().animate({top:'0px', left:'0px'},{queue:false,duration:300});
    });
    //Partial Sliding (Only show some of background)
    $('.boxgrid.peek').hover(function(){
        $(".cover", this).stop().animate({top:'90px'},{queue:false,duration:160});
    }, function() {
        $(".cover", this).stop().animate({top:'0px'},{queue:false,duration:160});
    });
    //Full Caption Sliding (Hidden to Visible)
    $('.boxgrid.captionfull').hover(function(){
        $(".cover", this).stop().animate({top:'160px'},{queue:false,duration:160});
    }, function() {
        $(".cover", this).stop().animate({top:'260px'},{queue:false,duration:160});
    });
    //Caption Sliding (Partially Hidden to Visible)
    $('.boxgrid.caption').hover(function(){
        $(".cover", this).stop().animate({top:'160px'},{queue:false,duration:160});
    }, function() {
        $(".cover", this).stop().animate({top:'220px'},{queue:false,duration:160});
    });
});
Качайте исходники для наглядности и экспериментируйте.
Скачать 1068Загрузок 195,41 Kb
Демо

Комментарии

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

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