次のような基本的なメニューがあります。
<ul>
<li>item 1</li>
<li>item2</li>
</ul>
<li>
800 ミリ秒ごとに各要素にクラス「現在」を追加し、もちろん古い現在の要素を削除するにはどうすればよいですか?
次のような基本的なメニューがあります。
<ul>
<li>item 1</li>
<li>item2</li>
</ul>
<li>
800 ミリ秒ごとに各要素にクラス「現在」を追加し、もちろん古い現在の要素を削除するにはどうすればよいですか?
これは、任意の数のリスト項目を永久にループします。
$(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/
次に質問を投稿する前に、次の記事を読むことをお勧めします。何を試しましたか?
$('li').each(function(i){
var $that = $(this);
setTimeout(function(){
$that.addClass('current').siblings().removeClass('current');
}, i *800);
});