浅谈不用Cookie实现高亮Javascript菜单效果

浅谈不用Cookie实现高亮Javascript菜单效果

ID:38177245

大小:90.50 KB

页数:5页

时间:2019-05-24

浅谈不用Cookie实现高亮Javascript菜单效果_第1页
浅谈不用Cookie实现高亮Javascript菜单效果_第2页
浅谈不用Cookie实现高亮Javascript菜单效果_第3页
浅谈不用Cookie实现高亮Javascript菜单效果_第4页
浅谈不用Cookie实现高亮Javascript菜单效果_第5页
资源描述:

《浅谈不用Cookie实现高亮Javascript菜单效果》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、浅谈不用Cookie实现高亮Javascript菜单效果笔者经常采用的高亮Javascript菜单效果设计方式,一般的网页至少都有两级菜单,第一个是顶部的总导航条菜单,另一个是左侧的分类导航菜单。一般要求在一级菜单高亮下二级菜单也能记录当前状态。对于一个包含顶部菜单的页头区域如果固定不变的,也就是它不用每次都重新加载,这种情况下用纯CSS或JS方式可以很容易地实现,但今天我要谈的不是这种,今天说的是一级菜单和二级菜单在每个页面中都是动态加载的,也就是它们是作为用户控件的方式载入的。这种情况下要想高亮Javascript菜单效果

2、的状态是一件比较困难的事情。当然,你可能会说,用cookie可以记录每个页面加载时上次记录的高亮状态,是的,它确实可以记录,但是这种方式在一些复杂的包含许多子页面的应用中,会给用户造成许多困扰和麻烦。比如在cookie生存周期内,重新打开这个项目时,此时cookie的生存周期还没有完全结束,它还记录着上次保存的状态,而这时页面地址已经发生了变化,那么当前高亮的菜单所指向的就不是用户所希望看到的页面。实践证明,这个cookie的生存周期无论你设置多长都不能完美解决用户恶意刷新页面的状况。这确实是一件糟糕的事情!那么有没有一种较好

3、的办法来解决这种状况呢?答案是有的。我们知道要解决这个问题,最理想的办法是在每个页面加载时,根据页面的url地址显式地设置当前菜单的高亮样式。这能完美地解决此类问题,并且这种方式无论用户如何恶意点击刷新按钮,高亮状态依旧保持不变。知道了原理,要实现起来就容易多了。【结构层】一级菜单结构层:1. 2.  

  • 首页a>li>                 3.  
  • 4、装用品a>li> 4.  

  • 家居用品a>li>             5.  
  • 化妆用品a>li>     6.ul> 可以看到在这个一级菜单中,其链接地址一般是没有参数值的。二级菜单的结构层:7./*一级菜单的三种样式设置*/ 1.#menu li a.normal{background:#fff;}//普通样式

    5、 2.#menu li a.over{background:#00ff00;} //翻滚样式 3.#menu li a.cur{background:#ff0000;color:#fff;} //高亮样式 4./*二级菜单的三种样式设置*/ 5.#othermenu li a.normal{background:#fff;} //普通样式 6.#othermenu li a.over{background:#AA7F00;color:#fff;} //翻滚样式 7.#othermenu li a.cur{background:

    6、#7F0000;color:#fff;} //高亮样式 与一级菜单不同的是,我们将二级菜单中的链接地址加入两个参数值,pId参数指向的是顶部一级菜单的的序号,而sId则是菜单自己的顺序号。我们将这两个菜单的总容器ul都设置了两个不同中的ID,它们需要在JS中调用,所以千万不能少。【样式层】关于样式,其实都没有什么特别的地方,你可以随心所意地设置成你想要的样式,只是需要注意的地方是,我们需要单独设置高亮Javascript菜单效果的三种状态样式,以供JS动态调用。8./*一级菜单的三种样式设置*/ 9.#menu li a.no

    7、rmal{background:#fff;}//普通样式 10.#menu li a.over{background:#00ff00;} //翻滚样式 11.#menu li a.cur{background:#ff0000;color:#fff;} //高亮样式 12./*二级菜单的三种样式设置*/ 13.#othermenu li a.normal{background:#fff;} //普通样式 14.#othermenu li a.over{background:#AA7F00;color:#fff;} //翻滚样式 

    8、15.#othermenu li a.cur{background:#7F0000;color:#fff;} //高亮样式 【行为层】因为要在行为层中控制菜单的三种状态,所以对于A链接标签,我们就不使用hover伪类来达到菜单的三种动态行为了,我们可以用onmouseover

  • 当前文档最多预览五页,下载文档查看全文

    此文档下载收益归作者所有

    当前文档最多预览五页,下载文档查看全文
    温馨提示:
    1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
    2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
    3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
    4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。