0

jQueryツールのタブを使用しています...同じページの別のリンクからタブを開く必要があります。これが私が試している私のコードです。

jQuery(function($){

        $('#accord1trig').click(function(){
              $(".accordion").tabs('selected', 1);
        });

        $('#accord2trig').click(function(){
              $(".accordion").tabs('selected', 2);
        });

        $('#accord3trig').click(function(){
              $(".accordion").tabs('selected', 3);
        });

        $('#accord4trig').click(function(){
              $(".accordion").tabs('selected', 4);
        });

});

htmlは次のとおりです

<a href="#" id="accord1trig">Tab Link 1</a>
<a href="#" id="accord2trig">Tab Link 2</a>
<a href="#" id="accord3trig">Tab Link 3</a>
<a href="#" id="accord4trig">Tab Link 4</a>
4

2 に答える 2

1

「個別のリンク」は次のとおりです。

<a href="#" id="click-me">Click me</a>

「TabLink1」を開きたい場合.click()は、スクリプトの最初のjQueryを次のように変更します。

jQuery(function($){

    $('#accord1trig, #click-me').click(function(){
          $(".accordion").tabs('selected', 1);
    });

    // Remainder of your code...

});

カンマ区切りで#click-meセレクターに追加する方法をご覧ください。

アップデート:

あなたが提供したURLに基​​づいて、次のことが私のために働きました:

<script type='text/javascript'>
jQuery(function(){
    jQuery('h4 a[data-tab]').click(function(e){
        e.preventDefault();
        var tab = jQuery('.accordion-toggle:eq(' + (parseInt(jQuery(this).data('tab')) - 1) + ')');
        tab.triggerHandler('click').addClass('current');
    });
});
</script>
于 2012-11-12T20:50:32.890 に答える
0

e.preventDefault()を使用して、デフォルトのアクションを停止します。また、コードを単一のイベントハンドラーに凝縮することもできます。

HTML-5データ属性を追加して、タブ情報を保存します。

HTML

<a href="#" id="accord1trig" data-tab="1">Tab Link 1</a>
<a href="#" id="accord2trig" data-tab="2">Tab Link 2</a>
<a href="#" id="accord3trig" data-tab="3">Tab Link 3</a>
<a href="#" id="accord4trig" data-tab="4">Tab Link 4</a>

Javascript

$('#accord1trig ,#accord2trig ,
                #accord3trig ,#accord4trig  ').on('click' , function(){

       var tab = parseInt( $(this).data('tab') , 10) ;
       $(".accordion").tabs('selected', tab);
 });

または単に

 $('[id^="accord"]').on('click' , function(){

           var tab = parseInt( $(this).data('tab') , 10) ;
           $(".accordion").tabs('selected', tab);
     });
于 2012-11-12T21:02:29.420 に答える