Thumbnail Gallery with Slick Heading and Caption Effect with jQuery
This is a simple jQuery , but can be extremely useful in frontend design Similar examples
1. HTML
It's simple, inside the container - photo class you have three objects, first div is the heading, image in the middle and last div is the caption. You can put links, rating whatever you like inside it.
<div class="photo">
<div class="heading"><span>Pier</span></div>
<img src="images/pier1.jpg" width="300" height="186" alt="" />
<div class="caption"><span>Lorem de scua shemf huan rougt ecrit vato de souju kanasa.</span></div>
</div>
2. CSS
One thing you have to know about the CSS is, if you want to position objects within a container, the container must have relative position and the object must have absolute position too. In this case, photo class is the container, heading and caption classes are the objects with absolute position.
So, it's easy, by default, heading and caption classes are hidden with top (heading) set to -50px (the height of the heading) and same thing to caption, but instead of top, it's bottom.
.photo {
/* relative position, so that objects in it can be positioned inside this container */
position:relative;
font-family:arial;
/* hide those extra height that goes beyong the size of this container */
overflow:hidden;
border:5px solid #000;
width:300px;
height:186px;
}
.photo .heading, .photo .caption {
/* position inside the container */
position:absolute;
background:#000;
height:50px;
width:300px;
/* transparency for different browsers */
/* i have shared this in my CSS tips post too */
opacity:0.6;
filter:alpha(opacity=60);
-moz-opacity:0.6;
-khtml-opacity: 0.6;
}
.photo .heading {
/* hide it with negative value */
/* it's the height of heading class */
top:-50px;
}
.photo .caption {
/* hide it with negative value */
/* it's the height of bottom class */
bottom:-50px;
}
/* styling of the classes*/
.photo .heading span {
color:#26c3e5;
top:-50px;
font-weight:bold;
display:block;
padding:5px 0 0 10px;
}
.photo .caption span{
color:#999;
font-size:9px;
display:block;
padding:5px 10px 0 10px;
}
3. Javascript
Javascript is pretty straight forward, just display the div and hide the div, the only difference between the heading and caption is, the css properties (top and bottom), I added the easing as well to give your more option in choosing the right transition for your image thumbnail gallery.
$(document).ready(function () {
// transition effect
style = 'easeOutQuart';
// if the mouse hover the image
$('.photo').hover(
function() {
//display heading and caption
$(this).children('div:first').stop(false,true).animate({top:0},{duration:200, easing: style});
$(this).children('div:last').stop(false,true).animate({bottom:0},{duration:200, easing: style});
},
function() {
//hide heading and caption
$(this).children('div:first').stop(false,true).animate({top:-50},{duration:200, easing: style});
$(this).children('div:last').stop(false,true).animate({bottom:-50},{duration:200, easing: style});
}
);
});
You might also like
Tags
accordion accordion menu animation navigation animation navigation menu carousel checkbox inputs css3 css3 menu css3 navigation date picker dialog drag drop drop down menu drop down navigation menu elastic navigation form form validation gallery glide navigation horizontal navigation menu hover effect image gallery image hover image lightbox image scroller image slideshow multi-level navigation menus rating select dependent select list slide image slider menu stylish form table tabs text effect text scroller tooltips tree menu vertical navigation menu