2016-04-15 22 views
0

私はJquery Tabsを使用しているプロジェクトに取り組んでいます。私のタブにはリンクがあります。そのうちの一つがJqueryタブのdafaultアクションを防止する

<a href="#rings">Rings</a> 

そのうちの一つが、別のページへの単純なリンクで、特定の隠し要素を表示できるようになり、このページのIDにあり、ここで

<a href="/amulets">Amulets</a> 

は、彼らが作成している方法です。

$('.b-head-nav-tabs').parent().tabs({ 
    collapsible: true, 
    active: false, 
    show: { effect: 'slideDown', duration: 300 }, 
    hide: { effect: 'slideUp', duration: 100 } 
}); 

そして、すべてのJquery Tabsマジックをバイパスしてクリックすると、特定のリンクに移動できるようにする必要があります。

var disabledTabsString = $('.disabled-tabs').text(); 
var disabledTabsArray = disabledTabsString.split(''); 
for (var i = 0; i < disabledTabsArray.length; i++) { 
    disabledTabsArray[i] = parseInt(disabledTabsArray[i]); 
} 
... 
disabled: disabledTabsArray, 

しかし、リンクを張っても特定のタブを無効にしています。何か案は?

+0

タブのHTML構造はどうなっていますか? – Yass

+0

@Twisty、私はタブを無効にしようとしました。私はそれがjsのためだけに無効になると思ったが、リンクをクリックしてもタブが無効になる。 – mrVG

答えて

0

私は直接行きたい特定のURLにdata-urlプロパティを追加することにしました。そして、私はbeforeActivateメソッドを使用してdata-urlがあるかどうかを確認してから、ユーザーをこのリンクにリダイレクトします。

$('.b-head-nav-tabs').parent().tabs({ 
     collapsible: true, 
     active: false, 
     show: { effect: 'slideDown', duration: 300 }, 
     hide: { effect: 'slideUp', duration: 100 }, 
     beforeActivate: function(event, ui) { 
      var url = $('a', ui.newTab).attr('data-url'); 
      if (url != undefined) { 
       document.location = url; 
       return false; 
      } 
     } 
    }); 
関連する問題