拡張可能なメニューがあります。このリンクでコードを見ることができます..
私の質問は、ページの更新後にトグル状態を維持する方法です。
助けてくれてありがとう。
セッション変数に保存するのはどうですか?
Session("TopMenuState") = XYZ
ここで、XYZ は州の情報です
うーん、限られた Javascript スキルでできる限りのことを説明しようと思います。
ローカル ストレージ/セッション ストレージが使用可能かどうかを確認するには、次のようにします。
if(typeof(Storage)!=="undefined")
{
// localStorage and sessionStorage supported
}
else
{
// localStorage and sessionStorage NOT supported
}
ローカル ストレージが利用可能であることに満足したら、実際のスクリプトのコーディングを続けることができます。
さらに、ユーザーがスライド メニューのリンクをクリックすると、クリックしたメニューの名前が保持され、ページが読み込まれたとき、またはメニューをレンダリングするときに、セッション/ローカル ストレージを確認できます。クリックされたメニュー項目 (ある場合) を確認する
したがって、スライド メニューのリンクでは、次の行に沿って何かが表示される場合があります。
<div class="menuContent">
<a class="slider"><img alt="" id="bot" src="images/arrow_bottom.png"></a>
<ul id="nav">
<li><a href="#"><img src="images/t1.png" /> Home</a></li>
<li>
<ul id="1">
<li><a href="#"><img src="images/empty.gif" />Link 1</a></li>
<li><a href="#"><img src="images/empty.gif" />Link 2</a></li>
<li><a href="#"><img src="images/empty.gif" />Link 2</a></li>
<li><a href="#"><img src="images/empty.gif" />Link 3</a></li>
<li><a href="#"><img src="images/empty.gif" />Link 4</a></li>
</ul>
// THIS LINE MODIFIED
<span onclick="ProcessMenuLink('MenuItem1')" class="sub" tabindex="1"><img src="images/t2.png" />HTML/CSS</span>
</li>
<li>
<ul id="2">
<li><a href="#"><img src="images/empty.gif" />Link 6</a></li>
<li><a href="#"><img src="images/empty.gif" />Link 7</a></li>
<li><a href="#"><img src="images/empty.gif" />Link 8</a></li>
<li><a href="#"><img src="images/empty.gif" />Link 9</a></li>
<li><a href="#"><img src="images/empty.gif" />Link 10</a></li>
</ul>
// THIS LINE MODIFIED
<span onclick="ProcessMenuLink('MenuItem2')" class="sub" tabindex="1"><img src="images/t3.png" />jQuery/JS</span>
</li>
<li><a href="#"><img src="images/t2.png" />PHP</a></li>
</ul>
</div>
注意してください: 私の JavaScript スキルは限られているため、このコードを確認する必要があるかもしれません! あちこちでセミコロンが欠落している可能性が最も高いです。
そして、サブルーチンまたは関数では、次のようなものがあるかもしれません:
Void ProcessMenuLink(MenuItemId){
if(typeof(Storage)!=="undefined")
{
// localStorage and sessionStorage supported
//If the menuitem selected is valid
if (MenuItemId == 1) Then
{
//Save the selected menu ID/Name
localStorage.MySelectedMenuItem=MenuItemId;
// OPTIONAL - Call the toggle subroutine to toggle the selected menuitems
// Code to call sliding routine if its not executed via the CLASS parameter
}
}
else
{
// localStorage and sessionStorage NOT supported
}
}
この時点で、SELECTED MENU ITEM がローカル ストレージに保存され、ページがリロードされると仮定します。
そのため、ページが読み込まれるときに、メニュー アニメーションまたは SLIDING を実行するサブルーチンを呼び出し、ローカルに保存された選択された menuitem 値に基づいて関連する値を渡す必要があります。
Sub Window.OnLoad
//load locally stored data
if (localStorage.MySelectedMenuItem == 'MenuItem1')
{
// menu item with id 'MenuItem1' was selected so call the sliding routine
// using whatever value you used to identify your first sliding menu
}
else
{
if (localStorage.MySelectedMenuItem == 'MenuItem2')
{
// menu item with id 'MenuItem2' was selected so call the sliding routine
// using whatever value you used to identify your first sliding menu
}
else
{
// nothing was selected or an invalid selection was specified
// show the menu items in their DEFAULT state
}
}
End Sub
関数をすべてJavascriptで呼び出す/実行する方法が完全にはわかりません
VB のバックグラウンドを持っているため、Java のスキルが低いことをお詫びするしかありません。
しかし、あなたが私の意味の要点を理解し、あなたの問題に対処するのに役立つことを願っています.