javascript - 随机播放来自多个框的 div

标签 javascript jquery onload

我有 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]);
    }
});

当所有 3 个盒子具有相同的类 (.shuffle) 时,混合是不正确的。 因此,我为每个带有新类名的框添加了一个脚本(shuffle2、shuffle3)。

是否可以在一个脚本中调用此函数?

查看我使用 3 个脚本的 Fiddle 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/

相关文章:

jquery - jquery css 函数在 Firefox 和 IE 11 上的奇怪行为

javascript - 为什么我的页面在 modal.close() 之后重新加载?

javascript - 当焦点位于表单中的最后一个输入时自动添加行

javascript - Knockout.js 使用push方法添加数据不更新 View

javascript - 我试图在视频到达提示点时增加变量

javascript - 为新用户创建网站介绍/展示的 jQuery/JS 插件

javascript - 退出 Pop Javascript 无法正常运行

Javascript window.onload 无法在 iOS 强制门户/网络中工作

javascript - Firefox 3.6.x 没有触发我的 onload 事件

javascript - 如何根据对象过滤 GeoJson 中的对象?