【发布时间】:2021-11-11 06:42:22
【问题描述】:
也许这是一个愚蠢的问题,但我无法解决这个问题。基本上我需要的是随机化项目的位置,即项目 1 采用项目 3(或 2 或 4)的样式,项目 2 采用 1、3、4 的样式,依此类推。
这是我的代码
let item = document.querySelectorAll('.item')
for (let i = 0; i < item.length; i++) {
const getRight = item[i].style.right
const getTop = item[i].style.top
const getStyles = [getRight, getTop]
console.log(`Item${i}, Style: ${getStyles}`);
}
.items--cloud {
position: relative;
height: 400px;
width: 500px;
background: #333;
}
[data-item] {
position: absolute;
transform: translate3d(var(--x), var(--y), 0);
}
<div class="items--cloud">
<div data-item="item-1" class="item item-1" style="right: 0%;top: 40%;">
<img src="https://via.placeholder.com/90x90.?text=item1" alt="">
</div>
<div data-item="item-2" class="item item-2" style="right: 53%;top: 28%;">
<img src="https://via.placeholder.com/90x90?text=item2" alt="">
</div>
<div data-item="item-3" class="item item-3" style="right: 39%;top: 4%;">
<img src="https://via.placeholder.com/90x90?text=item3" alt="">
</div>
<div data-item="item-4" class="item item-4" style="right: 79%;top: 26%;">
<img src="https://via.placeholder.com/90x90?text=item4" alt="">
</div>
</div>
如果有必要,我使用 jQuery 没有问题。
【问题讨论】:
-
我不完全确定你对
Basically what I need is to randomize the position of the items, i.e. item 1 takes the style of item 3 (or 2 or 4), item 2 takes the style of 1,3,4 and so on.的意思所以位置集是固定的,但你想洗牌你的哪些元素具有该集的哪个位置,但没有一个元素应该和那个集合的位置一样吗? -
@t.niese 嗯,这很理想,但如果一个元素不改变它的位置,那也不是问题。
标签: javascript arrays sorting random