リスト項目を含む順序付けられていないリストがあります。リスト項目にランダムに追加したい「アクティブ」というクラスがあります。私は今これを持っています:
// I want this class added on a random list item
$("#gallery li:first-child").addClass("on");
数学ランダム?
var random = Math.floor(Math.random() * 1000);
var $li = $("#gallery li");
$li.eq(random % $li.length).addClass("on");
以下のようなものを試してください、
var $li = $('#gallery li');
$li.eq(Math.floor(Math.random()*$li.length)).addClass("on");
編集: DOMの再クエリを避けるために更新li
var licount = $("#gallery li").length;
var randomnumber=Math.floor(Math.random()*(licount+1));
$("#gallery li:nth-child("+randomnumer+")").addClass("on");
liの数を知っている場合(ここでは10 li)
rand=Math.floor(Math.random() * 10); // 0 to 9
$("#gallery li").get(rand).addClass("on");
そうしないと
var $li=$("#gallery li");
rand=Math.floor(Math.random() * $li.length()); //
$li.eq(rand).addClass("on");
Math.random
は乱数を取得する方法なので、0
と s の数<li>
(マイナス 1) の間の数を取得し、それにクラスを追加するだけです。
var $lis = $("#gallery li");
$lis.eq( Math.floor( Math.random() * $lis.length ) ).addClass("on");