申し訳ありませんが、もう一度あなたの助けが必要です:-(
メインとサブのナビゲーションでナビゲーションを作成しました。サブメニューは、メインメニューのクリックタブ/リンクに応じて、自動的に表示または非表示になります。
活性状態はmenstr値によって変化します。
IEでは完璧に動作します:-) Firefoxでは何もしません:-(
<a>
問題は、 Firefox が処理できないタグのカスタム オブジェクト属性だと思いますか?
コメント付きの私のコードは次のとおりです。
メインレベル:
<ul>
<li><a id="M1" data-remote="true" menstr="M1:Sub1:S2" href="start1.php">Start1</a></li>
<li><a id="M2" data-remote="true" menstr="M2:0:S0" href="start2.php">Start2</a></li>
</ul>
サブレベル:
<div id="Sub1" class="subv" style="display:none">
<ul>
<li><a id="S1" data-remote="true" menstr="M1:Sub1:S1" href="sub1.php">Sub1</a></li>
<li><a id="S2" data-remote="true" menstr="M1:Sub1:S2" href="sub2.php">Sub2</a></li>
</ul>
</div>
月経:
したがって、menstr はナビゲーションの実際の状態を示します。
M1 から Mx = アクティブなメイン タブ (M1 はメイン バーの最初のタブ)
Sub1 ~ Subx = サブ ナビゲーションの名前 (0 = サブ バーなし)
S1 ~ Sx = アクティブなサブタブ
ページの下部にある jQuery / Java:
<script>
// Look if <a> is clicked and data-remote is true
$('a[data-remote]').click(function(e) {
// Prevent Default Action
e.preventDefault()
//Remove activ state/class from all Main Tabs
$('.active').removeClass('active');
//Remove active state/class from all Sub Tabs
$('.sub_nav_active').removeClass('sub_nav_active');
//Hide the Sub Tab
$('.subv').hide();
// Get and split the menstr
var $menstr = this.menstr.split(':');
//Set Main tab active
$('#' + $menstr[0]).addClass('active');
//Set Sub tab active
$('#' + $menstr[2]).addClass('sub_nav_active');
//Show Sub div if some is there
$('#' + $menstr[1]).show();
// Load the content of href in the main div
$('#main').load(this.href);
});
</script>
1つの解決策は、href内にmenstr文字列を与えることだと思いますが、それは良くないと思います...
私が思う2番目の問題は、data-remoteがないことです。クラスで処理するリンクを特定する必要がありますが、アクティブな状態のために必要です...
本当に素晴らしいコミュニティに感謝します:-)