2017-06-04 21 views
0

12個の要素がクラス "block"であり、12個の要素のうち6つ(無作為に)に「アクティブ」クラスを追加する必要があります。jQueryクラスを6つのランダム要素に追加する

私はforループを使ってトリックをすると思いますが、どうやってそれを行うのかは分かりません。多分誰かが私を助けることができますか?

for (var i = 0; i < 6; i++) { 

    var random = Math.floor(Math.random() * 1000); 
    block.eq(random % block.length).addClass("active"); 

} 

このコードは、クラスを追加しますが、毎回6つの要素ではありません。毎回6つの要素にアクティブなクラスを追加するソリューションが必要です。今、時にはそれはあなたが最初にすべての要素を選択することができますいつか少ない..

+0

xoomer、あなたはおそらくしたいリンクされ問題になっています[Alexander Wallinによる回答](https://stackoverflow.com/a/4786412/182660)では受け入れられていません。 – SergGr

+0

は、非常に複雑なコード:D – xoomer

+0

です。これは、すべての要素の正確な半分を選択することで信頼できる価格です。 – SergGr

答えて

-1

、6だとランダム関数によってそれらの任意の6を選び、それらにアクティブなクラスを追加

var elements = document.getElementsByName(elementname); 

for(var i =0; i<6 ; i++) 
var random = Math.floor((Math.random() * 11) + 1); 
element[random].className += "active"; 
+0

jqueryを使ってそれを行うには? – xoomer

+0

このコードは、OPが持つものと論理的に同じです。** randomは2回の異なる繰り返しで同じ値を取得する可能性があるので、** _必ず_ ** ** 6個の要素を生成します** – SergGr

関連する問題