2013-02-18 67 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

相关问题