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