javascript - 使用 JS 随机排序 div 元素列表
问题描述
我有一个包含 200 多个新闻站点的类别,在主页上我显示了最后 20 个新闻站点。
<div class="container-category">
<div class="col-3">item 1</div>
<div class="col-3">item 2</div>
<div class="col-3">item 3</div>
<div class="col-3">item 4</div>
<div class="col-3">item ..n</div>
</div>
如何<div class="col-3">
使用 Javascript 使列表随机出现?
OrderBy = random
解决方案
打乱类别的理想方法是通过后端。但如果你不能,我们可以在这里借用洗牌功能。
使用 jQueryget()
获取类别 div 的数组。使用该函数对数组进行洗牌并用于html()
更新内容。
function shuffle(array) {
var currentIndex = array.length,
temporaryValue, randomIndex;
// While there remain elements to shuffle...
while (0 !== currentIndex) {
// Pick a remaining element...
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex -= 1;
// And swap it with the current element.
temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue;
}
return array;
}
var categories = shuffle($(".container-category>div").get());
$(".container-category").html(categories);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="container-category">
<div class="col-3">item 1</div>
<div class="col-3">item 2</div>
<div class="col-3">item 3</div>
<div class="col-3">item 4</div>
</div>
推荐阅读
- android - 为什么我的背景颜色在 Android 中只有部分变化?
- javascript - html标签限制
- spring - 关于 Spring Transaction 和异常的问题
- jquery - Slick Carousel - 在模式选项卡/窗口内浏览时图像卡在垂直位置
- google-colaboratory - Colab 错误:ModuleNotFoundError: No module named
- c# - Visual Studio 2017 找不到解决方案中存在的文件夹
- css - SVG 边框图像在 Chrome 上完美,在 Firefox 上拉伸
- python - Pandas corr() 过于频繁地返回 NaN
- php - PHP Wordpress 将 XML 导出到自定义网站
- vuejs2 - 在 beforeEnter 路由中访问 VuexStore