Bon ben voila j'ai enfin reussi ,... :D
voici en mode spaguetti la galerie, ca pourra toujours servir ...
la demo
et le code
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="http://masonry.desandro.com/masonry.pkgd.min.js"></script>
<script src="/js/masonry.pkgd.min.js"></script>
<style>
body {
font-family: sans-serif;
}
#container {
border: 1px solid;
padding: 5px;
width:100%;
}
.bloc{
float:left;
height: 137px;
}
.item {
width: 205px;
height: 137px;
float: left;
background: #CCC;
text-align:center;
}
.thumb{
width: 205px;
height: 137px;
}
.unfold {
width: 615px;
height: 274px;
}
.info .contmeta {
bottom: 0;
left: 0;
right: 0;
z-index: 3;
height: 60px;
font-size: 12px;
}
.info {
display:none;
z-index: 3;
width: 615px;
height: 274px;
}
.inactive {
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
opacity: 0.5;
}
.active {
display:block;
opacity: 1;
border-bottom-color: #19aea5;
-webkit-box-shadow: 0px 0px 5px #cecece;
-moz-box-shadow: 0px 0px 5px #cecece;
box-shadow: 0px 0px 5px #cecece;
}
.hidden{
display:none;
}
.info .contmeta {
display:none;
position: absolute;
bottom: 0;
left: 0;
right: 0;
z-index: 3;
height: 60px;
font-size: 12px;
}
.info .titre {
padding-bottom:43px;
position: absolute;
bottom: 0;
left: 20px;
}
.info .suite {
margin-top:-200px;
position: absolute;
top: 0;
right: 20px;
}
.info .desc {
position: absolute;
padding-left:10px;
bottom: 0;
height:44px;
width:605px;
background-color: #bab6b6;
border-top: 1px dashed #e7e7e7;
}
</style>
</head>
<body>
<div class="menucat">
<h1><small>
<a class="all" href="#">All</a>
<a class="2D" href="#2d">2D</a>
<a class="3D" href="#3d">3D</a>
<a class="Anim" href="#anim">Anim</a>
</small></h1>
</div>
<div id="container">
<project class="bloc 3d">
<a class="thumb" href="#project1">
<div id="project1" class="item"><img src="http://placehold.it/205x137" alt="" width="205" height="137"/></div>
</a>
<div class="info">
<img src="http://placehold.it/615x274" alt="" width="615" height="274"/>
<div class="contmeta">
<div class="suite">voir la suite</div>
<div class="titre">le paysage de la vie nocturne</div>
<span class="meta">
<span class="desc">comment contenu de la deescriptino comment contenu de la deescriptin</span>
</span>
</div>
</div>
</project>
<project class="bloc 2d">
<a class="thumb" href="#project2">
<div id="project2" class="item"><img src="http://placehold.it/205x137" alt="" width="205" height="137"/></div>
</a>
<div class="info">
<img src="http://placehold.it/615x274" alt="" width="615" height="274"/>
<div class="contmeta">
<div class="suite">voir la suite</div>
<div class="titre">le paysage de la vie nocturne</div>
<span class="meta">
<span class="desc">comment contenu de la deescriptino comment contenu de la deescriptin</span>
</span>
</div>
</div>
</project>
<project class="bloc 3d">
<a class="thumb" href="#project3">
<div id="project3" class="item"><img src="http://placehold.it/205x137" alt="" width="205" height="137"/></div>
</a>
<div class="info">
<img src="http://placehold.it/615x274" alt="" width="615" height="274"/>
<div class="contmeta">
<div class="suite">voir la suite</div>
<div class="titre">le paysage de la vie nocturne</div>
<span class="meta">
<span class="desc">comment contenu de la deescriptino comment contenu de la deescriptin</span>
</span>
</div>
</div>
</project>
<project class="bloc anim">
<a class="thumb" href="#project4">
<div id="project4" class="item"><img src="http://placehold.it/205x137" alt="" width="205" height="137"/></div>
</a>
<div class="info">
<img src="http://placehold.it/615x274" alt="" width="615" height="274"/>
<div class="contmeta">
<div class="suite">voir la suite</div>
<div class="titre">le paysage de la vie nocturne</div>
<span class="meta">
<span class="desc">comment contenu de la deescriptino comment contenu de la deescriptin</span>
</span>
</div>
</div>
</project>
<project class="bloc 2d">
<a class="thumb" href="#project5">
<div id="project5" class="item"><img src="http://placehold.it/205x137" alt="" width="205" height="137"/></div>
</a>
<div class="info">
<img src="http://placehold.it/615x274" alt="" width="615" height="274"/>
<div class="contmeta">
<div class="suite">voir la suite</div>
<div class="titre">le paysage de la vie nocturne</div>
<span class="meta">
<span class="desc">comment contenu de la deescriptino comment contenu de la deescriptin</span>
</span>
</div>
</div>
</project>
</div>
<script>
$(function()
{
var hash;
function EventHash()
{
$('.item').removeClass('unfold');
hash = window.location.hash;
$(hash).parent().addClass('hidden');
var project = $(hash).parent().parent();
project.addClass('active unfold');
project.find('.info').addClass('unfold active').stop().animate({opacity: 1}, 300);
if(hash != ''){
$('#container').find(".bloc:not('.unfold')").addClass('inactive');
}
//project.find('.contmeta').addClass('active').stop().slideDown(200);
$('#container').masonry();
}
$('#container').masonry(
{
itemSelector: '.bloc',
columnWidth: 205
});
if (hash != 'undefined')
{
EventHash();
}
window.onhashchange = function()
{
EventHash();
};
/////////////////////////////////////////////
// click all , affiche tous Comment depart
//\ ______________________________________________________________
$('.all').click(function(){
$('#container').find('.bloc').removeClass('active').stop().animate({opacity: 1}, 300);
$('#container').find('.bloc').removeClass('hidden').stop().animate({opacity: 1}, 300);
$('#container').find('.info.unfold').removeClass('unfold active').stop().animate({opacity: 1}, 300);
$('#container').find('.bloc.unfold').removeClass('unfold').stop().animate({opacity: 1}, 300);
$('#container').find('a.thumb.hidden').removeClass('hidden').stop().animate({opacity: 1}, 300);
$('#container').masonry();
});
/////////////////////////////////////////////
// click sur les liens de categorie
//\ ______________________________________________________________
$('h1 a').click(function(){
var cls = $(this).attr('href').replace('#','');
console.log(cls);
$('#container').find('.bloc').removeClass('active inactive hidden').stop().animate({opacity: 1}, 300);
$('#container').find(".bloc:not('."+cls+"')").addClass('hidden').animate({opacity: 0}, 300);;
$('#container').find('.bloc .'+cls).show(500);
$('#container').find(".bloc:not('."+cls+"')").hide(500);
$('#container').find('.bloc').removeClass('unfold').stop().animate({opacity: 1}, 300);
$('#container').find('.bloc.unfold').removeClass('unfold').stop().animate({opacity: 1}, 300);
$('#container').find('.info.unfold').removeClass('active unfold').stop().animate({opacity: 0}, 300);
$('#container').find('a.thumb.hidden').removeClass('hidden').stop().animate({opacity: 1}, 300);
$('#container').masonry();
});
/////////////////////////////////////////////
// click petit project
//\ ______________________________________________________________
$('#container').find('a.thumb').click(function(){
var elem = $(this);
var unfold = $('#container').find('.unfold').removeClass('unfold active').stop().animate({opacity: 0.25}, 300);;
elem.children('thumb').removeClass('hidden');
$('#container').find(".thumb.hidden").removeClass('hidden');
$('#container').masonry();
});
/////////////////////////////////////////////
//hover petit project , rend tous les autres elements inactive
//\ ______________________________________________________________
$('project a')
.mouseover(function() {
var article = $(this);
article.parent().removeClass('inactive').addClass('active');
article.parent().stop().animate({opacity: 1}, 300);
var unfold = $('#container').find("project").hasClass('unfold active');
if (!unfold ) {
$('#container').find(".bloc:not('.active')").addClass('inactive').stop().animate({opacity: 0.25}, 300);
}
$('#container').masonry();
})
.mouseout(function() {
var article = $(this);
var unfold = $('#container').find("project").hasClass('unfold');
if (!unfold ) {
$('#container').find(".bloc:not('.active.unfold')").removeClass('inactive').stop().animate({opacity: 1}, 300);
}else{
$('#container').find(".bloc.active:not('.unfold')").removeClass('inactive').stop().animate({opacity: 0.25}, 300);
}
article.parent().removeClass('active');
$('#container').masonry();
});
/////////////////////////////////////////////
//hover grand project , affiche les spans ( detail, description )
//\ ______________________________________________________________
$('project .info')
.mouseover(function() {
var article = $(this);
article.parent().addClass('active');
$('#container').find(".bloc:not('.active')").addClass('inactive');
$(this).children('.contmeta').stop().slideDown(200);
$('#container').masonry();
})
.mouseout(function() {
var article = $(this);
$(this).children('.contmeta').removeClass('active');
$(this).children('.contmeta').stop().slideUp(200);
$('#container').masonry();
});
});
</script>
</body>
</html>
plusplus les amis.