2011-11-10 68 views
0

我想編寫jQuery中的IF語句,將實現以下目標:寫一個if/else語句來addClass/removeClass如果特定的選擇具有/不具有類特定

如果li.slideNum :首先有一類'active',addClass'disabled'給li.prev,否則removeClass'active'從li.prev。

我有一系列導航的幻燈片:上一頁| 1 | 2 | 3 | 4 | 5 |下一個。當幻燈片5有一個'active'類並且一個'disabled'類爲'Next'時,當幻燈片5有一個'active'類時,我想向'Previous'添加一類'disabled'。那麼當然要確保Previous Slide沒有一個「禁用」的類,當幻燈片2-5有一類「活動」時,Next沒有一類「禁用」,當幻燈片1-4有一類「活動」 。我還有其他所有的幻燈片和導航工具,這是它完美工作之前的最後一件事。

有關我如何才能做到最好的想法?

+3

你不是非常簡單,只是寫呢?從英文翻譯成Javascript + jQuery(它只有幾個不同的字符!),你很好走....有什麼問題? –

+0

我從來沒有寫過一個jQuery if語句,我知道我很接近。我所面臨的主要問題是如何編寫'具有活躍的類'部分。 –

+1

'.hasClass('active')',http://api.jquery.com/hasClass/ – alinn

回答

3

聽起來你正在尋找這樣的:

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

謝謝!這是比if/else語句更好的解決方案。我只是將第一個「主動」改爲「禁用」,現在它完美地工作了!我使用'$('li.prev')。toggleClass('disabled',$('li.slideNum:first')。hasClass('active'));''和$('li.next')。toggleClass ( '禁用',$( 'li.slideNum:去年')hasClass( '活動'));'。 –

0

你幾乎沒有它,檢查prevnext,並且hasClass

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

感謝您的解決方案! –

0

你可以保持一個currentIndex類型值,然後根據那就是添加/刪除你想要的類。

這可能使它更容易通過只是要像:

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

這聽起來也是一個很好的解決方案。謝謝! –