2013-02-18 90 views

回答

0

如何將它保存在會話變量中?

Session("TopMenuState") = XYZ 

其中XYZ是你的狀態信息

更新

MMMMM我會盡量解釋盡我所能用我有限的技能的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 
    } 
    } 

現在,在這一點上,你已經保存在本地存儲選擇的菜單項,我以爲頁面重新加載。

所以當你的頁面加載時,你會想要調用執行菜單動畫或SLIDING的子例程,並根據本地存儲的選定菜單項值傳遞相關值。

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

好吧,我只能爲我弱弱的Java技術從一個VB背景的道歉,

但我希望你明白了我的意思,它可以幫助你解決你的問題。

+0

感謝您的回覆。由於我是新的編碼,你可以用我的代碼解釋。 – mbultraslan 2013-02-18 01:23:56

+0

我無法查看您的代碼,請將其張貼在上面。在服務器端使用會話變量只是Session(「VarName」)= Value。或者你可以使用本地存儲來保持你的菜單狀態,顯然當刷新頁面並且菜單被重新繪製/渲染並且菜單可以顯示爲摺疊或展開時,你將不得不使用這個帳戶。 – Zeddy 2013-02-18 01:34:47

+0

我不能寫我的代碼到上面,但我的代碼在這個鏈接http://jsbin.com/ewirez/2/edit – mbultraslan 2013-02-18 16:44:46

相關問題