mirror of https://github.com/metafizzy/isotope
11 changed files with 68 additions and 167 deletions
@ -1,28 +1,24 @@
|
||||
|
||||
// change layout
|
||||
var isHorizontal = false; |
||||
$('#layouts a').click(function(){ |
||||
var $this = $(this), |
||||
mode = $this.attr('href').slice(1), |
||||
wasHorizontal = isHorizontal; |
||||
isHorizontal = $this.hasClass('horizontal'); |
||||
|
||||
function changeLayoutMode( $link, options ) { |
||||
var wasHorizontal = isHorizontal; |
||||
isHorizontal = $link.hasClass('horizontal'); |
||||
|
||||
if ( wasHorizontal !== isHorizontal ) { |
||||
// orientation change
|
||||
// need to do some clean up for transitions and sizes
|
||||
var style = isHorizontal ?
|
||||
{ height: '80%', width: $container.width() } :
|
||||
{ width: 'auto' }; |
||||
// stop any animation on container height / width
|
||||
$container.filter(':animated').stop(); |
||||
|
||||
// disable transition, apply revised style
|
||||
$container.addClass('no-transition').css( style ); |
||||
setTimeout(function(){ |
||||
$container.removeClass('no-transition').isotope({ layoutMode : mode }); |
||||
$container.removeClass('no-transition').isotope( options ); |
||||
}, 100 ) |
||||
} else { |
||||
// go ahead and apply new layout
|
||||
$container.isotope({ layoutMode : mode }); |
||||
$container.isotope( options ); |
||||
} |
||||
|
||||
return false; |
||||
}); |
||||
} |
||||
|
@ -1,12 +1,13 @@
|
||||
<h3>Layout modes</h3> |
||||
|
||||
<ul id="layouts" class="option-set floated clearfix"> |
||||
<li><a href="#masonry" class="selected">masonry</a></li> |
||||
<li><a href="#fitRows">fitRows</a></li> |
||||
<li><a href="#cellsByRow">cellsByRow</a></li> |
||||
<li><a href="#straightDown">straightDown</a></li> |
||||
<li><a href="#masonryHorizontal" class="horizontal">masonryHorizontal</a></li> |
||||
<li><a href="#fitColumns" class="horizontal">fitColumns</a></li> |
||||
<li><a href="#cellsByColumn" class="horizontal">cellsByColumn</a></li> |
||||
<li><a href="#straightAcross" class="horizontal">straightAcross</a></li> |
||||
</ul> |
||||
<h3>Layout modes</h3> |
||||
|
||||
<ul id="layouts" class="option-set floated clearfix" data-option-key="layoutMode"> |
||||
<li><a href="#masonry" data-option-value="masonry" class="selected">masonry</a></li> |
||||
<li><a href="#fitRows" data-option-value="fitRows">fitRows</a></li> |
||||
<li><a href="#cellsByRow" data-option-value="cellsByRow">cellsByRow</a></li> |
||||
<li><a href="#straightDown" data-option-value="straightDown">straightDown</a></li> |
||||
<li><a href="#masonryHorizontal" data-option-value="masonryHorizontal" class="horizontal">masonryHorizontal</a></li> |
||||
<li><a href="#fitColumns" data-option-value="fitColumns" class="horizontal">fitColumns</a></li> |
||||
<li><a href="#cellsByColumn" data-option-value="cellsByColumn" class="horizontal">cellsByColumn</a></li> |
||||
<li><a href="#straightAcross" data-option-value="straightAcross" class="horizontal">straightAcross</a></li> |
||||
</ul> |
||||
|
@ -1,13 +0,0 @@
|
||||
|
||||
// sorting
|
||||
$('#sort a').click(function(){ |
||||
// get href attribute, minus the #
|
||||
var $this = $(this), |
||||
sortName = $this.attr('href').slice(1), |
||||
asc = $this.parents('.sort').hasClass('asc'); |
||||
$container.isotope({
|
||||
sortBy : sortName, |
||||
sortAscending : asc |
||||
}); |
||||
return false; |
||||
}); |
Loading…
Reference in new issue