次のように、兄弟を数えて、そのうちのいくつかをランダムに非表示にすることができます。
$('.layer img').click(function() {
sib = $(this).siblings();
rand = Math.floor((Math.random()*sib.length)+1);
for (i=0;i<rand;i++) {
sib.eq(i).css ('display', 'none');
}
$(this).css ('display', 'none');
});
OPがコメントしたように、ここに拡張バージョンを追加して、前または次の兄弟をランダムに選択します。合計で最大5つです。
$('.layer img').click(function() {
sib = $(this).siblings();
rand = Math.floor((Math.random()*sib.length)+1);
rand = Math.min(5,rand);
aprev = $(this);
anext = $(this);
for (i=0;i<rand;i++) {
if (Math.floor((Math.random()*2)+1) == 1 ) { //random go prev or next
if (aprev.prev().length) {
aprev = aprev.prev();
aprev.css ('display', 'none');
} else {
anext = anext.next();
anext.css ('display', 'none');
}
} else {
if (anext.next().length) {
anext = anext.next();
anext.css ('display', 'none');
} else {
aprev = aprev.prev();
aprev.css ('display', 'none');
}
}
}
$(this).css ('display', 'none');
});
前または次の兄弟がいないかどうかを制御し、その場合はもう一方に戻す必要があるため、コードが少し大きくなりました。