2011-11-10 18 views
0

を持っていないしている場合、私は次のことを達成するjQueryのであれば文を書きたいと思いaddClass/removeClassにもし/ else文を書く:特定のセレクタは/特定のクラスに

li.slideNum場合:最初に「アクティブ」のクラスを持ち、addClassをli.prevに「無効」にし、そうでない場合はli.prevから「アクティブ」を削除します。

次のようなナビゲーションを備えた一連のスライドがあります。 1 | 2 | 3 | 4 | 5 |次。スライド5に「アクティブ」のクラスがある場合、スライド1に「アクティブ」のクラスがあり、「無効」のクラスが「次へ」になっているときに、「以前の」に「無効」のクラスを追加したいと思います。次に、スライド1-4に「アクティブ」のクラスがある場合、「戻る」に「無効」のクラスがないことを確認します。スライド1-4に「アクティブ」のクラスがある場合、 。スライドとナビの作業には他のものがありますが、これはすべてが完璧に動作する前の最後のことです。

私はこれをどのように達成することができますか?

あなたはほとんどそれをやった
+3

あなたはかなりそれを書きませんか?英語からJavascript + jQueryへの翻訳(それはわずかな文字です!)、あなたはいいですね...どうしたの? –

+0

私はjQueryのifステートメントを書いたことは一度もありません。私が持っている主な質問は、「アクティブなクラスのクラスを持つ」という書き方です。 –

+1

'.hasClass( 'アクティブ')'、http://api.jquery.com/hasClass/ – alinn

答えて

3

は、あなたがこれを見ているような音あなたが望むクラスを追加/削除します。ちょうどのような何かを行くことによって、それを簡単にすること

if(currentIndex === 0) { 
    //disable previous 
} 
else if(currentIndex === 4) 
{ 
    //disable next 
} 
else 
{ 
    //enable them both 
} 
+0

ありがとう! if/else文よりもはるかに優れた解決策です。私は最初の「アクティブ」を「無効」に変更しただけで、今は完全に機能します! hasClass( 'li.prev')、toggleClass( 'disabled'、$( 'li.slideNum:first')。hasClass( 'active')); and $( 'li.next')。toggleClass ( 'disabled'、$( 'li.slideNum:last')。hasClass( 'active')); '。 –

0

は、prevnext、およびhasClassを確認してください。

$('li.prev').toggleClass('active',$('li.slideNum:first').hasClass('active')); 
+0

あなたのソリューションに感謝します! –

0

あなたはcurrentIndex型の値を維持し、その後に基づくことができます:

if($('li.slideNum:first').hasClass('active')){ 
    $('...').addClass('...'); 
}else{ 
    ... 
} 
+0

これは良い解決策のようにも聞こえます。ありがとうございました! –

関連する問題