我想在每個.elements
上使用jquery設置不同的顏色,他們的子女(.element
)應該具有相同的顏色,但顏色的歸屬應該是隨機的,每個.elements
。我該怎麼做 ?如何爲循環數組的每組元素設置隨機顏色?
下面是一個例子:https://jsfiddle.net/auscpzy6/6/
的Html
<div class="elements"> <!-- children share the same color -->
<div class="element">1</div> <!-- exmaple : red -->
<div class="element">2</div> <!-- exmaple : red -->
</div>
<div class="elements"> <!-- children share the same color -->
<div class="element">3</div> <!-- exmaple : blue -->
<div class="element">4</div> <!-- exmaple : blue -->
<div class="element">5</div> <!-- exmaple : blue -->
</div>
<div class="elements"> <!-- children share the same color -->
<div class="element">6</div> <!-- exmaple : yellow -->
</div>
<div class="elements"> <!-- children share the same color -->
<div class="element">7</div> <!-- exmaple : blue -->
<div class="element">8</div> <!-- exmaple : blue -->
</div>
的Javascript:這是我試過,但都停留在相同的顏色。
function eachEl(el){
var items = ["blue", "red", "yellow"];
var item = items[Math.floor(Math.random()*items.length)];
$(el).css({
"color": item,
});
}
$(".elements").each(function() {
eachEl('.element');
});
任何解決方案?
我看,另一個問題是,這是最好的方式來做到這一點性能明智嗎?我發現加載需要一些時間,而且我擔心在200個元素上可能會出現滯後現象。 – Lindow
如果你關心性能,那麼我建議完全避免jQuery。通過DOM直接循環將會快得多,儘管如果DOM中有很多元素循環遍歷 –