2017-02-24 14 views
0

コードを短くするためにコードで行うことができますか? ここに私のコードは、それは単純なタブのようなものです。 Btw、このコードはすでに動作していますが、私は多くのタブを持っているなら、私は多くのクリック機能を繰り返さなければならないと思っています。 スクリプトを短くする方法はありますか?ありがとうございます。Javascript/Jquery onclick関数の結露

$(function() { 
    $(".invMer, .invEq").hide(); 

    $(".mergers a").click(function() { 
     $(".invMer").fadeIn(); 
     $(".invEq, .invPe").hide(); 
    }); 

    $(".equity a").click(function() { 
     $(".invEq").fadeIn(); 
     $(".invMer, .invPe").hide(); 
    }); 

    $(".privateEq a").click(function() { 
     $(".invPe").fadeIn(); 
     $(".invMer, .invEq").hide(); 
    }); 
+0

あなたの質問とコードの実装は、経験の浅い開発者の素晴らしい例です。コードが複雑であり、常に心に留めておいてください。狂っている、複製されている、読みにくい、保守が困難な、コードが複雑すぎて理由がない –

答えて

5

すべてのリンクに同じクラスと、どのタブを開くべきかを示すデータ属性を指定します。だから、のようなもの:

<div class="mergers"> 
    <a class="tablink" href="#" data-tab="invMer">Mergers</a> 
</div> 

そして、すべてのタブのdiv要素は、共通のクラスを持っている必要があります。

<div class="tabdiv" id="invMer"> 
    ... 
</div> 

その後、あなたは、単一のハンドラを使用することができます。

$(".tablink").click(function() { 
    var tab = '#' + $(this).data("tab"); 
    $(".tabdiv").not(tab).hide(); 
    $(tab).show(); 
}); 
1

は、データ属性

を使用します
<a data-show=".invPe"> 

およびdo

関連する問題