Browse Source

src : posTop & posLeft -> offset.top & offset.left; remove from layoutModes and add to pushPosition

pull/96/head
David DeSandro 14 years ago
parent
commit
19ea505609
  1. 52
      jquery.isotope.js

52
jquery.isotope.js

@ -387,10 +387,8 @@
this.reloadItems(); this.reloadItems();
// get top left position of where the bricks should be // get top left position of where the bricks should be
var $cursor = $( document.createElement('div') ); var $cursor = $( document.createElement('div') ).prependTo( this.element );
this.element.prepend( $cursor ); this.offset = $cursor.position();
this.posTop = Math.round( $cursor.position().top );
this.posLeft = Math.round( $cursor.position().left );
$cursor.remove(); $cursor.remove();
// add isotope class first time around // add isotope class first time around
@ -586,6 +584,8 @@
}, },
_pushPosition : function( $elem, x, y ) { _pushPosition : function( $elem, x, y ) {
x += this.offset.left;
y += this.offset.top;
var position = this.getPositionStyles( x, y ); var position = this.getPositionStyles( x, y );
this.styleQueue.push({ $el: $elem, style: position }); this.styleQueue.push({ $el: $elem, style: position });
if ( this.options.itemPositionDataEnabled ) { if ( this.options.itemPositionDataEnabled ) {
@ -813,7 +813,7 @@
var i = this.masonry.cols; var i = this.masonry.cols;
this.masonry.colYs = []; this.masonry.colYs = [];
while (i--) { while (i--) {
this.masonry.colYs.push( this.posTop ); this.masonry.colYs.push( 0 );
} }
}, },
@ -867,7 +867,7 @@
} }
// position the brick // position the brick
x = this.masonry.columnWidth * shortCol + this.posLeft; x = this.masonry.columnWidth * shortCol;
y = minimumY; y = minimumY;
this._pushPosition( $brick, x, y ); this._pushPosition( $brick, x, y );
@ -879,7 +879,7 @@
}, },
_masonryGetContainerSize : function() { _masonryGetContainerSize : function() {
var containerHeight = Math.max.apply( Math, this.masonry.colYs ) - this.posTop; var containerHeight = Math.max.apply( Math, this.masonry.colYs );
return { height: containerHeight }; return { height: containerHeight };
}, },
@ -914,8 +914,8 @@
} }
// position the atom // position the atom
x = instance.fitRows.x + instance.posLeft; x = instance.fitRows.x;
y = instance.fitRows.y + instance.posTop; y = instance.fitRows.y;
instance._pushPosition( $this, x, y ); instance._pushPosition( $this, x, y );
instance.fitRows.height = Math.max( instance.fitRows.y + atomH, instance.fitRows.height ); instance.fitRows.height = Math.max( instance.fitRows.y + atomH, instance.fitRows.height );
@ -953,16 +953,16 @@
col = props.index % props.cols, col = props.index % props.cols,
row = ~~( props.index / props.cols ), row = ~~( props.index / props.cols ),
x = ( col + 0.5 ) * props.columnWidth - x = ( col + 0.5 ) * props.columnWidth -
$this.outerWidth(true) / 2 + instance.posLeft, $this.outerWidth(true) / 2,
y = ( row + 0.5 ) * props.rowHeight - y = ( row + 0.5 ) * props.rowHeight -
$this.outerHeight(true) / 2 + instance.posTop; $this.outerHeight(true) / 2;
instance._pushPosition( $this, x, y ); instance._pushPosition( $this, x, y );
props.index ++; props.index ++;
}); });
}, },
_cellsByRowGetContainerSize : function() { _cellsByRowGetContainerSize : function() {
return { height : Math.ceil( this.$filteredAtoms.length / this.cellsByRow.cols ) * this.cellsByRow.rowHeight + this.posTop }; return { height : Math.ceil( this.$filteredAtoms.length / this.cellsByRow.cols ) * this.cellsByRow.rowHeight + this.offset.top };
}, },
_cellsByRowResizeChanged : function() { _cellsByRowResizeChanged : function() {
@ -982,14 +982,14 @@
var instance = this; var instance = this;
$elems.each( function( i ){ $elems.each( function( i ){
var $this = $(this), var $this = $(this),
y = instance.straightDown.y + instance.posTop; y = instance.straightDown.y;
instance._pushPosition( $this, instance.posLeft, y ); instance._pushPosition( $this, 0, y );
instance.straightDown.y += $this.outerHeight(true); instance.straightDown.y += $this.outerHeight(true);
}); });
}, },
_straightDownGetContainerSize : function() { _straightDownGetContainerSize : function() {
return { height : this.straightDown.y + this.posTop }; return { height : this.straightDown.y };
}, },
_straightDownResizeChanged : function() { _straightDownResizeChanged : function() {
@ -1007,7 +1007,7 @@
var i = this.masonryHorizontal.rows; var i = this.masonryHorizontal.rows;
this.masonryHorizontal.rowXs = []; this.masonryHorizontal.rowXs = [];
while (i--) { while (i--) {
this.masonryHorizontal.rowXs.push( this.posLeft ); this.masonryHorizontal.rowXs.push( 0 );
} }
}, },
@ -1060,7 +1060,7 @@
// position the brick // position the brick
x = minimumX; x = minimumX;
y = this.masonryHorizontal.rowHeight * smallRow + this.posTop; y = this.masonryHorizontal.rowHeight * smallRow;
this._pushPosition( $brick, x, y ); this._pushPosition( $brick, x, y );
// apply setHeight to necessary columns // apply setHeight to necessary columns
@ -1071,7 +1071,7 @@
}, },
_masonryHorizontalGetContainerSize : function() { _masonryHorizontalGetContainerSize : function() {
var containerWidth = Math.max.apply( Math, this.masonryHorizontal.rowXs ) - this.posLeft; var containerWidth = Math.max.apply( Math, this.masonryHorizontal.rowXs );
return { width: containerWidth }; return { width: containerWidth };
}, },
@ -1106,8 +1106,8 @@
} }
// position the atom // position the atom
x = instance.fitColumns.x + instance.posLeft; x = instance.fitColumns.x;
y = instance.fitColumns.y + instance.posTop; y = instance.fitColumns.y;
instance._pushPosition( $this, x, y ); instance._pushPosition( $this, x, y );
instance.fitColumns.width = Math.max( instance.fitColumns.x + atomW, instance.fitColumns.width ); instance.fitColumns.width = Math.max( instance.fitColumns.x + atomW, instance.fitColumns.width );
@ -1146,16 +1146,16 @@
col = ~~( props.index / props.rows ), col = ~~( props.index / props.rows ),
row = props.index % props.rows, row = props.index % props.rows,
x = ( col + 0.5 ) * props.columnWidth - x = ( col + 0.5 ) * props.columnWidth -
$this.outerWidth(true) / 2 + instance.posLeft, $this.outerWidth(true) / 2,
y = ( row + 0.5 ) * props.rowHeight - y = ( row + 0.5 ) * props.rowHeight -
$this.outerHeight(true) / 2 + instance.posTop; $this.outerHeight(true) / 2;
instance._pushPosition( $this, x, y ); instance._pushPosition( $this, x, y );
props.index ++; props.index ++;
}); });
}, },
_cellsByColumnGetContainerSize : function() { _cellsByColumnGetContainerSize : function() {
return { width : Math.ceil( this.$filteredAtoms.length / this.cellsByColumn.rows ) * this.cellsByColumn.columnWidth + this.posLeft }; return { width : Math.ceil( this.$filteredAtoms.length / this.cellsByColumn.rows ) * this.cellsByColumn.columnWidth };
}, },
_cellsByColumnResizeChanged : function() { _cellsByColumnResizeChanged : function() {
@ -1174,14 +1174,14 @@
var instance = this; var instance = this;
$elems.each( function( i ){ $elems.each( function( i ){
var $this = $(this), var $this = $(this),
x = instance.straightAcross.x + instance.posLeft; x = instance.straightAcross.x;
instance._pushPosition( $this, x, instance.posTop ); instance._pushPosition( $this, x, 0 );
instance.straightAcross.x += $this.outerWidth(true); instance.straightAcross.x += $this.outerWidth(true);
}); });
}, },
_straightAcrossGetContainerSize : function() { _straightAcrossGetContainerSize : function() {
return { width : this.straightAcross.x + this.posLeft }; return { width : this.straightAcross.x + this.offset.left };
}, },
_straightAcrossResizeChanged : function() { _straightAcrossResizeChanged : function() {

Loading…
Cancel
Save