-2
我有一個6格的網格,屬性爲row
,它們在屬性爲col
的兩個div之間平均嵌套。當頁面加載時,我想隨機選擇其中一行並應用類.show
,因此這兩個div與row="1"
將是一個row
。從這裏,當單擊文檔時,我希望隨機選擇其餘兩行中的一行,並對其應用類.show
。當再次點擊文檔時,最後剩餘的row
顯示已應用.show
。現在所有三個row
都有類.show
。如果文檔再次被點擊,則應該重新啓動視覺循環,以便只有一個隨機選擇的div
具有類別.show
。從Jquery對象中選擇具有相同屬性的div
我已創建一個jsfiddle到目前爲止的代碼。我無法解決的是如何選擇具有相同row
屬性的div。
<div id="cnt">
<div col=0>
<div row="0">0</div>
<div row="1">1</div>
<div row="2">2</div>
</div>
<div col=1>
<div row="0">0</div>
<div row="1">1</div>
<div row="2">2</div>
</div>
</div>
JS
$(document).ready(function() {
function selectDiv(){
var notSelectedDivs = $("div[row]:not(.show)");
if(!notSelectedDivs.length){
$('.show').removeClass('show');
notSelectedDivs = $("div[row]:not(.show)");
}
var randomIndex = Math.floor((Math.random() * 3));
$(notSelectedDivs).attr('row', randomIndex).addClass('show');
}
$(document).on("click", function() {
selectDiv();
});
selectDiv();
});
由於花時間回覆。我瞭解如何做到這一點,我不確定的是從notSelectedDivs變量中選擇一個隨機行 – CalAlt
您原來的代碼實際上非常接近。添加了一些額外的例子,稍作修改(例如緩衝rowdivs)。這個例子是否符合你的想法? –
是的,解決了這個問題。謝謝! – CalAlt