2017-01-17 4 views
0

私はいくつかのナビゲーションリンクでのdivコンテナ内のAJAXコンテンツでロードし、defaultTabを設定するには、この次のスクリプトを使用しています:まで、私は#tab1-9」のようなものを使用します正常に動作しますeasyTabsでdefaultTabをすべて優位に設定するにはどうすればいいですか?

$(document).ready(function() { 
    $("#tab-container").easytabs({updateHash: true, defaultTab: "li:eq(3)"}); 
}); 

タブにあるをクリックしてURLに入力します。それでは、どのようにdefaultTabを設定するかは関係ありません。

urlの内容にもかかわらずこのdefaultTabを設定するにはどうすればよいですか?

+0

jsfiddleまたは実行可能なコードスニペットを提供できますか? –

+0

URLの後ろに '#tab1-4'のようなものが出力されないようにするか、またはスクリプトがファイルをロードするときにこれを変更する必要があります ' $(function(){ $('#content ') .load( '/ srv/inc/content.inc.php?welle = 1&markt = 2'); });

' **このロード機能はアドレスバーのURLを変更しません**これは「迷惑な点」です。 アドレスバーの拡張子は、 'defaultTab'属性ではなく、選択したタブを決定します。 フィドルでは、この問題を示すアドレスバーはありません。 私のリクエストを考えてくれてありがとう。 – Shenya

+0

あなたは[this](https://os.alfajango.com/easytabs/)プラグインを使用していますか? –

答えて

0

urlに#tabIdが含まれていても、手動でページをリロードすることができます。このプラグインには、このためのメソッドが組み込まれています。

EasyTabsには現在、selectという1つのパブリックメソッドがあり、 ではJavaScript経由でタブを選択できます。

ちょうどあなたの$(document).ready()機能でこのコードを追加します。 $('#tab-container').easytabs('select', '#default-tab-link');をこの行の後:$("#tab-container").easytabs({updateHash: true, defaultTab: "li:eq(3)"});

次に、あなたのコードは次のようにする必要があります:第三li内部

$(document).ready(function() { 
    $("#tab-container").easytabs({updateHash: true, defaultTab: "li:eq(3)"}); 
    $('#tab-container').easytabs('select', '#default-tab-link'); 
}); 

そして、あなたのhtmlコードで

、 (デフォルトにしたい)項目 <a>の属性を default-tab-link

に設定します
+0

私は好きなように動作しません。 - > [fiddle](http://jsfiddle.net/T5C6h/2034/) フレームをリロードすると、デフォルトタブではなくクリックされたタブが表示されます。私がjavascript変数を使用する場合、ajax-load()でファイルをロードすることによってphp-Variableのようになります。それは何も変わらない。 – Shenya

+0

をjsfiddleに入れてURLをチェックすると、#tabidが含まれておらず、そのシナリオをシミュレートできないことがわかります。私はローカルのマシンでそれをテストし、それが正常に動作しています。あなたはそうして、私に知らせてくれますか? –

+0

私もローカルマシンでテストしましたが、同じことがあります。たぶん、私たちは異なっていると思います。フレームをロードすることによって、defaultTabに変更する必要があります。それはいいね。これはおそらく、ファイルを確実にロードすることによってURLを変更する必要があることを意味します。あなたのスクリプトはそれをしません。 **(他のタブをクリックした後)フレームを再度読み込むことによって変数nTabの値に変更する必要があります**。 – Shenya

0

私が発見した:

$("#tab-container").easytabs({updateHash: true, defaultTab: "li:eq("+nTab+")", active: nTab}); 
$('#tab-container').easytabs('select', '#tabs1-'+String.fromCharCode(nTab+97)); 

これはfiddle hereでも動作します。

ありがとうございます。

関連する問題