运行 while 循环后如何随机化 div 的边框颜色,因为当我得到并使用它时
<script>
$(document).ready(function(){
var array = ["orange", "blue", "black", "yellow", "green"];
var colorNumber = Math.round((Math.random() * (array.length - 1)));
$(".booty").css('border-color', array[colorNumber]);
//$('h1').css("color", colors[rand]);
});
</script>
并用它来随机化
<div class="media booty">
</div
我得到相同的边框颜色 而不是第一个 div,蓝色,然后下一个 div 黑色,然后下一个 div 绿色,请问我该如何解决这个问题。
最佳答案
尝试生成数组范围内的随机数时,请勿使用 Math.round - 否则,它可能会向上舍入到数组的长度,访问该索引将导致未定义
。请改用 Math.floor
。
每次迭代时,您都需要生成新的随机颜色,否则它们将都是相同的:
const colors = ["orange", "blue", "black", "yellow", "green"];
$(".booty").each((_, div) => {
const colorNumber = Math.floor((Math.random() * (colors.length)));
$(div).css('border-color', colors[colorNumber]);
});
.media {
border: 1px solid;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="media booty">text</div>
<div class="media booty">text</div>
<div class="media booty">text</div>
<div class="media booty">text</div>
关于javascript - 在 PHP while 循环中随机化 jquery 中 "DIV"的边框颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50126330/