3

我有一个带有列表项的无序列表。我有一个名为“活动”的类,我希望将其随机添加到列表项中。我现在有这个:

// I want this class added on a random list item
$("#gallery li:first-child").addClass("on"); 

数学随机?

4

5 回答 5

7
var random = Math.floor(Math.random() * 1000);

var $li = $("#gallery li");
$li.eq(random % $li.length).addClass("on");
于 2012-05-14T14:53:37.437 回答
5

试试下面的东西,

var $li = $('#gallery li');
$li.eq(Math.floor(Math.random()*$li.length)).addClass("on");

编辑:更新以避免重新查询 DOMli

于 2012-05-14T14:51:31.307 回答
1
var licount = $("#gallery li").length;
var randomnumber=Math.floor(Math.random()*(licount+1));

$("#gallery li:nth-child("+randomnumer+")").addClass("on");
于 2012-05-14T14:54:07.187 回答
0

Math.random是你如何获得随机数,所以你需要做的就是获得一个介于s0和 s 之间的数字<li>(减 1),然后将类添加到其中。

var $lis = $("#gallery li");
$lis.eq( Math.floor( Math.random() * $lis.length ) ).addClass("on"); 
于 2012-05-14T14:52:45.730 回答
0

如果你知道里数(这里是 10 里)

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"); 
于 2012-05-14T14:54:55.247 回答