0

我有一个这样的基本菜单:

<ul>
    <li>item 1</li>
    <li>item2</li>
</ul>

如何<li>每 800 毫秒为我的每个元素添加“当前”类,当然还要删除旧的当前元素?

4

2 回答 2

2
$('li').each(function(i){
    var $that = $(this);
    setTimeout(function(){
        $that.addClass('current').siblings().removeClass('current');
    }, i *800);
});

现场演示

于 2013-03-22T10:59:50.277 回答
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/

我可以建议您在下一个问题之前阅读这篇文章:您尝试过什么?

于 2013-03-22T11:24:45.700 回答