grid programme
This commit is contained in:
+74
@@ -0,0 +1,74 @@
|
||||
// slide
|
||||
( function( window, factory ) {
|
||||
// universal module definition
|
||||
/* jshint strict: false */
|
||||
if ( typeof define == 'function' && define.amd ) {
|
||||
// AMD
|
||||
define( factory );
|
||||
} else if ( typeof module == 'object' && module.exports ) {
|
||||
// CommonJS
|
||||
module.exports = factory();
|
||||
} else {
|
||||
// browser global
|
||||
window.Flickity = window.Flickity || {};
|
||||
window.Flickity.Slide = factory();
|
||||
}
|
||||
|
||||
}( window, function factory() {
|
||||
'use strict';
|
||||
|
||||
function Slide( parent ) {
|
||||
this.parent = parent;
|
||||
this.isOriginLeft = parent.originSide == 'left';
|
||||
this.cells = [];
|
||||
this.outerWidth = 0;
|
||||
this.height = 0;
|
||||
}
|
||||
|
||||
var proto = Slide.prototype;
|
||||
|
||||
proto.addCell = function( cell ) {
|
||||
this.cells.push( cell );
|
||||
this.outerWidth += cell.size.outerWidth;
|
||||
this.height = Math.max( cell.size.outerHeight, this.height );
|
||||
// first cell stuff
|
||||
if ( this.cells.length == 1 ) {
|
||||
this.x = cell.x; // x comes from first cell
|
||||
var beginMargin = this.isOriginLeft ? 'marginLeft' : 'marginRight';
|
||||
this.firstMargin = cell.size[ beginMargin ];
|
||||
}
|
||||
};
|
||||
|
||||
proto.updateTarget = function() {
|
||||
var endMargin = this.isOriginLeft ? 'marginRight' : 'marginLeft';
|
||||
var lastCell = this.getLastCell();
|
||||
var lastMargin = lastCell ? lastCell.size[ endMargin ] : 0;
|
||||
var slideWidth = this.outerWidth - ( this.firstMargin + lastMargin );
|
||||
this.target = this.x + this.firstMargin + slideWidth * this.parent.cellAlign;
|
||||
};
|
||||
|
||||
proto.getLastCell = function() {
|
||||
return this.cells[ this.cells.length - 1 ];
|
||||
};
|
||||
|
||||
proto.select = function() {
|
||||
this.cells.forEach( function( cell ) {
|
||||
cell.select();
|
||||
});
|
||||
};
|
||||
|
||||
proto.unselect = function() {
|
||||
this.cells.forEach( function( cell ) {
|
||||
cell.unselect();
|
||||
});
|
||||
};
|
||||
|
||||
proto.getCellElements = function() {
|
||||
return this.cells.map( function( cell ) {
|
||||
return cell.element;
|
||||
});
|
||||
};
|
||||
|
||||
return Slide;
|
||||
|
||||
}));
|
||||
Reference in New Issue
Block a user