これはかなり複雑な変更です。同位体を使用してグリッドシステムをセットアップしました。クライアントは、ユーザーがページにアクセスするたびに、このグリッドがランダムになることを望んでいます。これは、sortBy: 'random' を追加することで同位体を使用して簡単に設定できます。
ただし、同位体の最初の項目には「特集」のクラスがあります。この注目のクラスは、より広いグリッド要素と、ユーザーがクリックできるいくつかの情報をアクティブにするため、これは常にグリッドの最初の項目になります。
今、私がする必要があるのは、ランダムシーケンスの最初の要素を毎回「特集」するように設定することです。したがって、ユーザーがページにアクセスするたびに、おすすめのグリッド アイテムは異なります。現時点では、取り上げるクラスをハードコーディングしているため、これはグリッド全体にランダムに配置されます。
ランダムシーケンスの最初の要素にクラスを与える方法はありますか? これは私のコードです:
<script>
var $container = $('#home-grid');
$container.isotope({
// options...
resizable: true, // disable normal resizing
sortBy : 'random',
// set columnWidth to a percentage of container width
masonry: { columnWidth: $container.width() / 2 }
});
$(window).smartresize(function(){
$container.isotope({
// update columnWidth to a percentage of container width
masonry: { columnWidth: $container.width() / 2 }
});
});
</script>