我有一个像这样的基本菜单:
<ul>
<li>item 1</li>
<li>item2</li>
</ul>
如何每隔800毫秒为每个<li>
元素添加“current”类,当然还会删除旧的当前元素?
答案 0 :(得分:2)
$('li').each(function(i){
var $that = $(this);
setTimeout(function(){
$that.addClass('current').siblings().removeClass('current');
}, i *800);
});
答案 1 :(得分:2)
这将永远循环通过任意数量的列表项:
$(document).ready(function() {
var $lis = $("li"), i = -1;
function nextCurrent() {
$lis.eq(i).removeClass("current");
$lis.eq(i=(i+1)%$lis.length).addClass("current");
setTimeout(nextCurrent, 800);
}
nextCurrent();
});
演示:http://jsfiddle.net/nnnnnn/4skLV/
我可以建议您在下次发布问题之前阅读本文:What have you tried?