我有下面的代码,它打乱了表中一行中的一组项。但是,仅当存在4+项时,随机播放功能才有效:
var parent = $("#parent");
function shuffleRows(parent) {
var rows = parent.children().children(".shuffledtd1");
for (var i = rows.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var temp = rows[i];
rows.eq(i - 1).after(rows[j]);
rows.eq(j - 1).after(temp);
}
}
shuffleRows(parent);
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<table>
<tbody id="parent">
<tr id="node2" class="shufflerow">
<td class="shuffledtd shuffledtd1">AA</td>
<td class="shuffledtd shuffledtd1">BB</td>
<!-- IF I DELETE THIS AND THE FOLLOWING ROW, THE PRIOR 2 ROWS NO LONGER SHUFFLE -->
<td class="shuffledtd shuffledtd1">CC</td>
<td class="shuffledtd shuffledtd1">DD</td>
</tr>
</tbody>
</table>
完整代码:http://jsfiddle.net/d8rkgx0z/
我认为它与这部分代码有关:
rows.eq(i - 1).after(rows[j]);
rows.eq(j - 1).after(temp);
但是,不幸的是,我的技能不足以在没有几个小时的试验和错误的情况下隔离和纠正问题。
提前感谢您的帮助!
https://stackoverflow.com/questions/50766685
复制相似问题