0

次のような基本的なメニューがあります。

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

<li>800 ミリ秒ごとに各要素にクラス「現在」を追加し、もちろん古い現在の要素を削除するにはどうすればよいですか?

4

2 に答える 2

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 に答える
2
$('li').each(function(i){
    var $that = $(this);
    setTimeout(function(){
        $that.addClass('current').siblings().removeClass('current');
    }, i *800);
});

ライブデモ

于 2013-03-22T10:59:50.277 に答える