2014-01-08 60 views
0

我試圖通過this community :)實現我已經完成的一些操作(更小的一半) - 不知道如何完成剩下的工作。在兩個類別上隨機選擇相同的方式

我有一個div的多個實例。對於每個實例,我隨機從列表中添加一個班級(以更改一些設置,如字體,顏色等)。目前我正在使用下面的功能。此功能另外避免了兩個相同的類相繼添加。

var classes = ['blue', 'yellow', 'lightorange', 'violet']; 
var prevClass = ""; 
$('.randomizeddiv').each(function() { 
    var classes2 = []; 
    for (var i = 0; i < classes.length; i++) { 
     if (classes[i] !== prevClass) { 
      classes2.push(classes[i]); 
     } 
    } 
    $(this).addClass(prevClass = classes2[Math.floor(Math.random()*classes2.length)]); 
}); 

現在我有另一個div用不同類(也是多重背景),我想對於改變是如何先前的改變。可以說,我的第一個隨機div添加了類「藍色」我想要個孩子,DIV把「藍色2」

<div class="randomizeddiv blue> 
     </div class="secondrandom blue2"></div> 
    </div> 

    <div class="randomizeddiv yellow> 
     </div class="secondrandom yellow2"></div> 
    </div> 

    <div class="randomizeddiv violet> 
     </div class="secondrandom violet2"></div> 
    </div> 

回答

0

只是一個類添加到循環中的孩子?

var classes = ['blue', 'yellow', 'lightorange', 'violet']; 
var prevClass = ""; 

$('.randomizeddiv').each(function() { 
    var classes2 = []; 
    for (var i = 0; i < classes.length; i++) { 
     if (classes[i] !== prevClass) { 
      classes2.push(classes[i]); 
     } 
    } 

    prevClass = classes2[Math.floor(Math.random()*classes2.length)] 

    $(this).addClass(prevClass).find('.secondrandom').addClass(prevClass + '2'); 
}); 
相關問題