5 つのリスト項目があります。1 つをクリックすると、すべての要素をアニメーション化してから、選択した要素を新しい幅に再アニメーション化する方法しかわかりません。現在アクティブなアイテムのみがアニメーション化され、クラスが削除され、新しいアイテムがアニメーション化され、アクティブなクラスが追加されるように、このプロセスを削減する方法を教えてもらえますか?
JS
var test = $('#test'),
test_li = test.children(),
small = 60,
large = 200;
test_li.on('click', function(e) {
if( !$(this).hasClass('active') ){
test_li.animate({ width: small }, 300).removeClass('active'); //animates every single li every time
$(this).animate({ width: large }, 300).addClass('active');
}
});
ここでフィドル: http://jsfiddle.net/TSNtu/1/