私は同位体をスムーズに実行していますが、可変サイズのクラス値を予測できない方法でリセットしているようです - 少なくとも私がその仕組みを理解している限り。
私の基本的な構造: ページ上部のボタンの列、AZ クラス = 文字。各ボタンは、div の新しいセットを読み込みます。
$(".letter").click(function() {
if ($('.'+letX+'').length > 0 ) { // divs already loaded
var newItems = $('.'+letX+''); // letX grabbed from div ID, a, b, etc.
$(this).find('#container').after(newItems); // loads fine, should hold width2 height2 set on very first load
}
else {
var stringData = $.ajax({ url: 'digz/index/'+$(this).attr("id")+'.txt', async: false }).responseText;
var $newItems = $(stringData);
$('#container').isotope( 'insert', $newItems );
$('.element').each(function(index) {
$(this).find('.titlePE').before('<p class="number">' + index + '</p>'); // add numbers for variable-sizes
});
variableSizes(); // new divs so set random width2 height2
}
});
variableSizes の関数を設定して、もう少しわかりやすくします。上記の前に宣言..
function variableSizes() {
$container.find('.element').each(function(){ // add randomish size classes
var $this = $(this), number = parseInt( $this.find('.number').text(), 10 );
//$this.removeClass('width2').removeClass('height2');
//$('.element').removeClass('width2').removeClass('height2');
// if ( !($this).hasClass('sized') ) {
if ( number % 7 % 2 === 1 ) { $this.addClass('width2'); } // $('div .nameP').html('wide');
if ( number % 3 === 0 ) { $this.addClass('height2'); }
// $this.addClass('sized'); // }
});
}
これは、標準の同位体ルーチンです。
私のレムは修正の試みです。ああ、if($(this).hasClass('sized')) テストのコードを省略
したようですが、可変サイズ ボタンをクリックすると (これにより、既に設定されている (random ) width2 height2. 次に、g = ナイス レイアウトをクリックします. 次に、h = ナイス、次に d、ナイス、次に再び g = がらくた. ほとんどの場合、幅 2、高さ 2、または高さ 2 に設定されます.
ここでプロセスの一部が欠けています。ランダムに設定された width2 height2 を維持するために、g - または d または ... を繰り返しクリックするにはどうすればよいですか? 予測可能である必要はありませんが、これは単なる派手なものですが、ある種の「いい」ものを保持する必要があります。
何か提案はありますか?