1 つのページで複数のアイソトープ インスタンスを使用したいと考えています。これらのインスタンスの 1 つはコーナー スタンプですが、他のインスタンスは通常の「石工」のものです。
コーナースタンプを新しい名前に変更したい - homeMasonry
。
http://isotope.metafizzy.co/docs/extending-isotope.htmlから 2 つの関数の名前を変更すると、Uncaught TypeError: Cannot set property 'cols' of undefined
これらは2つの機能です
$.Isotope.prototype._homeMasonryReset = function() {
// layout-specific props
this.masonry = {};
this._getSegments();
var i = this.masonry.cols;
this.masonry.colYs = [];
while (i--) {
this.masonry.colYs.push( 0 );
}
if ( this.options.masonry.cornerStampSelector ) {
var $cornerStamp = this.element.find( this.options.masonry.cornerStampSelector ),
stampWidth = $cornerStamp.outerWidth(true) - ( this.element.width() % this.masonry.columnWidth ),
cornerCols = Math.ceil( stampWidth / this.masonry.columnWidth ),
cornerStampHeight = $cornerStamp.outerHeight(true);
for ( i = Math.max( this.masonry.cols - cornerCols, cornerCols ); i < this.masonry.cols; i++ ) {
this.masonry.colYs[i] = cornerStampHeight;
}
}
};
$.Isotope.prototype._homeMasonryResizeChanged = function() {
return true;
};
そして同位体呼び出し
$container.isotope({
layoutMode: 'homeMasonry',
itemSelector: '.item',
homeMasonry: {cornerStampSelector: '.corner'}
});
jsfiddle で問題を再現しました
http://jsfiddle.net/DQydj/133/
同位体は私の名前の変更を気に入らなかったようです。誰が何が悪いのか知っていますか?