我有3个盒子,里面有不同的内容,可以随机播放。
<div class="shuffle style">
<div>A1</div>
<div>A2</div>
<div>A3</div>
<div>A4</div>
<div>A5</div>
<div>A6</div>
<div>A7</div>
<div>A8</div>
<div>A9</div>
</div>
<div class="shuffle2 style">
<div>B1</div>
<div>B2</div>
<div>B3</div>
<div>B4</div>
<div>B5</div>
<div>B6</div>
<div>B7</div>
<div>B8</div>
<div>B9</div>
</div>
<div class="shuffle3 style">
<div>C1</div>
<div>C2</div>
<div>C3</div>
<div>C4</div>
<div>C5</div>
<div>C6</div>
<div>C7</div>
<div>C8</div>
<div>C9</div>
</div>
我使用此代码来洗牌:
$(function () {
var parent = $(".shuffle");
var divs = parent.children().remove();
while (divs.length) {
parent.append(divs.splice(Math.floor(Math.random() * divs.length), 1)[0]);
}
});
当所有三个框都具有相同的类(.shuffle)时,混合是不正确的。
因此,我为每个框添加了一个具有新类名的脚本(shuffle2,shuffle3)。
可以将此功能称为一个脚本吗?
参见我使用3个脚本的提琴演奏here
最佳答案
只需使用$.each()
<div class="shuffle style">
<div>A1</div>
<div>A2</div>
<div>A3</div>
<div>A4</div>
</div>
<div class="shuffle style">
<div>B1</div>
<div>B2</div>
<div>B3</div>
<div>B4</div>
</div>
<div class="shuffle style">
<div>C1</div>
<div>C2</div>
<div>C3</div>
<div>C4</div>
</div>
$(function () {
$(".shuffle").each(function () {
var parent = $(this),
divs = parent.children().remove();
while (divs.length) {
parent.append(divs.splice(Math.floor(Math.random() * divs.length), 1)[0]);
}
});
});
fiddle
关于javascript - 从多个盒子开始随机播放div,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34706682/