transition

layer rolling out of the div

by luissanchezm86

HTML

<div class="info-container">
    <div class="info-layer">
        <span>Title test number 1</span>
    </div>
        <p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
</div>

<div class="info-container">
    <div class="info-layer">
        <span>Title test number 2</span>
    </div>
        <p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
</div>

CSS

.info-container {
    padding: 5px 10px;  
    position: relative;
    width: 300px;
    height: 200px;
    float: left;
    
}

.info-layer {
    position: absolute;
    width: 300px;
    height: 200px;
    background-color: #bbb;
    /*margin-left: 0;*/
    opacity: .9;
    -webkit-transition: width;
    -webkit-transition-timing-function: ease-in;
    -webkit-transition-duration: 500ms;
}

.info-layer > span {
    font-size: 20px;
    font-weight: bold;
}

.detail {
    width: 0;
    height: 200px;
    opacity: .9;
    /*margin-left: -200px;*/
    -webkit-transition: width;
    -webkit-transition-timing-function: ease-in;
    -webkit-transition-duration: 500ms;
}

JavaScript

var myDiv;

$(".info-container").hover(
    function() {    
        myDiv = $(this);
        myDiv.find("span").fadeOut(200);    
        myDiv.find(".info-layer").addClass("detail");        
    }, 
    function() {
        myDiv = $(this);
        myDiv.find(".info-layer").removeClass("detail");
        myDiv.find("span").delay(300).fadeIn(200);
    }
);