Isotope Append Example
Shows append working with Isotope - param to both append request has to be a jQuery collection for some reason?
StackOverflow: http://stackoverflow.com/questions/18776853/isotope-appended-item-goes-under-item-already-there
HTML
<script src="http://isotope.metafizzy.co/jquery.isotope.min.js"></script>
<div class="portfolio_projects">
<ul id='og-grid'>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</div>
<div class="portfolio_projects_hide">
<ul>
<li>four</li>
<li>five</li>
<li>six</li>
</ul>
</div>
<a id='plus_projet' href="#">Add More</a>
CSS
ul {
list-style: none;
}
ul li {
display: inline-block;
width: 230px;
height: 180px;
padding: 10px;
border: 1px solid black;
margin: 4px;
background-color: #efefef;
}
.portfolio_projects_hide {
display: none;
}
/**** Isotope Filtering ****/
.isotope-item {
z-index: 2;
}
.isotope-hidden.isotope-item {
pointer-events: none;
z-index: 1;
}
/**** Isotope CSS3 transitions ****/
.isotope,
.isotope .isotope-item {
-webkit-transition-duration: 0.8s;
-moz-transition-duration: 0.8s;
-ms-transition-duration: 0.8s;
-o-transition-duration: 0.8s;
transition-duration: 0.8s;
}
.isotope {
-webkit-transition-property: height, width;
-moz-transition-property: height, width;
-ms-transition-property: height, width;
-o-transition-property: height, width;
transition-property: height, width;
}
.isotope .isotope-item {
-webkit-transition-property: -webkit-transform, opacity;
-moz-transition-property: -moz-transform, opacity;
-ms-transition-property: -ms-transform, opacity;
-o-transition-property: -o-transform, opacity;
transition-property: transform, opacity;
}
/**** disabling Isotope CSS3 transitions ****/
.isotope.no-transition,
.isotope.no-transition .isotope-item,
.isotope .isotope-item.no-transition {
-webkit-transition-duration: 0s;
-moz-transition-duration: 0s;
-ms-transition-duration: 0s;
-o-transition-duration: 0s;
transition-duration: 0s;
}
JavaScript
$('#og-grid').isotope({
itemSelector: 'li'
});
$('#sort-by a').click(function () {
var selector = $(this).attr('data-filter');
$('#og-grid').isotope({
filter: selector
});
$('#og-grid').isotope('reLayout');
return false;
});
$('a#plus_projet').click(function () {
var appendContent = $('.portfolio_projects_hide ul').html();
var $appendContent = $(appendContent);
$('.portfolio_projects ul').append($appendContent).isotope('appended', $appendContent);
// Not necessary when appending items...
//$('#og-grid').isotope('reLayout');
return false;
});