-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