2010-02-27 56 views

回答

4

保持简单。这检索所有的列表项下该列表:

var items = $("#sliding_panels li"); 

然后用Math.random()挑选其中之一。 注意:构造Math.floor(Math.random() * 10))将返回一个介于0和9之间的整数。

var item = Math.floor(Math.random() * items.length); 

可以使用一个jQuery对象上的数组索引运算符来检索这些元件中的一个。 注意:如果set是jQuery对象,则set[n]相当于set.get(n)

然后,您需要来包装的jQuery元素,并使用addClass()

$(items[item]).addClass("active"); 
1

请参阅this question了解如何获取随机元素。

$("#sliding_panels li").get().sort(function(){ 
    return Math.round(Math.random())-0.5 
}).slice(0,1).addClass("active"); 

感谢duckyflip了原来的答案。

另一种方法是在同一问题中提到的:random plugin

实施例:

$("#sliding_panels li:random").addClass("active"); 
+1

我不明白这一点。为什么要选择一个随机元素?有点奇怪。 – cletus 2010-02-27 02:09:24

+0

似乎有点矫枉过正.. – 2010-02-27 02:24:11

1
var elements = $('ul#mylist li'); 
$ (elements.get (
    Math.round (elements.length*Math.random()-0.5) 
)).addClass ('active'); 
相关问题