Javascript 使用jquery选择maxium 5 li项
我有一个Javascript 使用jquery选择maxium 5 li项,javascript,jquery,arrays,select,Javascript,Jquery,Arrays,Select,我有一个和很多,你可以在这里看到: <ul> <li><img src="content/img/logos/pon.jpg" alt="PON" width="111" height="63" /></li> <li><img src="content/img/logos/spo.png" alt="SPO Utrecht" widt
和很多
,你可以在这里看到:
<ul>
<li><img src="content/img/logos/pon.jpg" alt="PON" width="111" height="63" /></li>
<li><img src="content/img/logos/spo.png" alt="SPO Utrecht" width="130" height="67" /></li>
<li><img src="content/img/logos/campus.jpg" alt="Onderwijs Campus" width="137" height="86" /></li>
<li><img src="content/img/logos/cpwb.png" alt="CPWB" width="112" height="99"/></li>
<li><img src="content/img/logos/expertis.jpg" alt="Expertis" width="120" height="56" /></li>
<li><img src="content/img/logos/inos.jpg" alt="Inos" width="211" height="67" /></li>
<li><img src="content/img/logos/OSG.jpg" alt="OSG" width="130" height="51" /></li>
<li><img src="content/img/logos/pio.png" alt="Pio" width="138" height="92" /></li>
<li><img src="content/img/logos/Signum.png" alt="Signum" width="181" height="68" /></li>
<li><img src="content/img/logos/vgs.png" alt="VGS" width="192" height="63" /></li>
</ul>
但我的问题是没有。li项有自己的
标记。但我想让jquery显示5个li项。我如何使用javascript/jquery进行编辑。他随机给我看了5件这样的物品
谢谢
发现于
关于OP在评论中提出的问题:
var $allLi = $('ul li'), // All
showRandom = function() {
$allLi.hide().sort(function() { // Hide all, then sort
return Math.round(Math.random()) - 0.5;
}).slice(0, 5).show(); // Show first five after randomizing
};
showRandom(); // Do it now ...
setInterval(showRandom, 1500); // ... and every 1.5 sec
()当您能够引用li时,您将能够迭代它的子项。哪些是李的。 例如:
$('li').each(function(index) {
alert(index + ': ' + $(this).text());
});
在上面的示例中,您可以使用$(this)引用li。
您可以将它们存储在一个数组中,然后随机获取5个。您可以使用Math.random方法进行此操作。之后可以重建ulli列表,也可以使用jQuery删除不需要的项
var li = $('ul li');
var len =li.length;
while($('ul li:visible').length > 5) {
li.eq(parseInt(len * Math.random())).hide();
}
如果希望返回
jQuery
对象,而不是doElement
的集合,则可以删除.get()
。但是我怎样才能让你满意呢。他现在轮换。他每10秒给别人看一次li@Mike这是另一个问题,但我要说的是,每隔几秒钟你就隐藏所有($('li',container.).hide()
)然后显示五个随机($('li',container.).sort(函数(){return Math.round(Math.random())-0.5;})。slice(0,5)。show()
)。
var li = $('ul li');
var len =li.length;
while($('ul li:visible').length > 5) {
li.eq(parseInt(len * Math.random())).hide();
}