2015-05-21 229 views
0
$('.btnSmall.mobileBtn.about').on('click', function(e){ 
    $('.about').css({'display': 'block'}); 
    $('.compareMobile').css({'display': 'none'}); 
    $('.mobileFeaturedStatments').css({'display':'none'}); 
    $('.mobileBtn').removeClass('activeBtn'); 
    $(this).addClass('activeBtn'); 
    }); 

    $('.btnSmall.mobileBtn.vS').on('click', function(e){ 
    $('.about').css('display', 'none'); 
    $('.compareMobile').css('display' , 'block'); 
    $('.mobileFeaturedStatments').css('display' , 'none'); 
    $('.mobileBtn').css({'background' : '#A6A8AB'}); 
    $(this).addClass('activeBtn'); 

    }); 

    $('.btnSmall.mobileBtn.trending').on('click', function(e){ 
    $('.about').css({'display': 'none'}); 
    $('.compareMobile').css({'display': 'none'}); 
    $('.mobileFeaturedStatments').css({'display':'block'}); 
    $('.mobileBtn').css({'background' : '#A6A8AB'}); 
    $(this).addClass('activeBtn'); 
    }); 

按預期工作,但我認爲有一些方法可以刪除這些重複。也許更優雅的解決方案。我怎樣才能讓這更幹?

+1

後一些HTML代碼 –

回答

1

事情是這樣的:

$('.btnSmall.mobileBtn.vS,.btnSmall.mobileBtn.about,.btnSmall.mobileBtn.trending).on('click', function(e){ 
    var isvs=$(this).is('.vS'); 
    var isabout=$(this).is('.about'); 
    var istrending=$(this).is('.trending'); 
    $('.about').css({'display':isabout ? 'block':'none'}); 
    $('.compareMobile').css({'display':isvs ? 'block':'none'}); 
    $('.mobileFeaturedStatments').css('display' , istrending ? 'block':'none'); 
    $('.mobileBtn').css({'background' : '#A6A8AB'}); 
    $(this).addClass('activeBtn'); 
}); 
+0

真棒。不知道你可以在css中使用三元組。 – NoobSter

+0

@stanleytd:很高興幫助:) –