0

拡張可能なメニューがあります。このリンクでコードを見ることができます..

私の質問は、ページの更新後にトグル状態を維持する方法です。

助けてくれてありがとう。

4

1 に答える 1

0

セッション変数に保存するのはどうですか?

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 のスキルが低いことをお詫びするしかありません。

しかし、あなたが私の意味の要点を理解し、あなたの問題に対処するのに役立つことを願っています.

于 2013-02-18T01:09:35.887 に答える