2 回答
TA贡献1909条经验 获得超7个赞
// 获取DOM元素
var $game_box = $('.game-box'),
$game_box_list = $('.game-box p');
// 列表乱序后添加到game_box
$game_box.html(arrayRandomSort($game_box_list));
// 数据乱序方法
function arrayRandomSort(array) {
var index = array.length;
//开始遍历
for (var i = array.length; i > 0; i--) {
var random = parseInt(Math.random() * index);
index--;
//交换位置
var last = array[index];
array[index] = array[random];
array[random] = last;
}
return array;
}
我的思路是,把获取到的DOM数组乱序后再放到game-box下。
// 获取DOM元素
var $table = $('table'),
$tr_list = $('table tr'),
$td_list = $('table tr td');
// 生成乱序的td列表
var random_list = arrayRandomSort($td_list);
// 获取每一行的td数量
var row_count = [];
$tr_list.each((i, el) => {
row_count.push($(el).find('td').length);
});
// 根据每一行td的数量显示
$tr_list.each((i, el) => {
$(el).html(random_list.splice(0, row_count[i]));
});
// 数据乱序方法
function arrayRandomSort(array) {
var index = array.length;
//开始遍历
for (var i = array.length; i > 0; i--) {
var random = parseInt(Math.random() * index);
index--;
//交换位置
var last = array[index];
array[index] = array[random];
array[random] = last;
}
return array;
}
这个应该就是你想要的效果
添加回答
举报