zoukankan      html  css  js  c++  java
  • 菜单高亮显示的几种情况及实现

    前段时间遇到了一个需求:访问页面时,跟该页面相关的Menu要求保持高亮。
    因为是第一次遇到这个问题,在处理的时候走了不少弯路,后来在网络上搜索了一下,发现菜单高亮显示有几种不同层次的需求。
    在下不才,在此将这几种需求以及各自的解决方案列出来,以作抛砖引玉之用,也希望后来遇到这种问题、并且看到我的帖子的朋友能从中获益。
    代码是从项目中抽出来稍加修改而来,也许有的地方不够完善,大家一起探讨!

    1、当鼠标移入后,菜单显示成高亮;移出后恢复
    2、在1的基础上,单击某个菜单项,该项保持高亮(页面不刷新)
    3、在1的基础上,单击某个菜单项,该项保持高亮(页面刷新)
    4、当鼠标移入后,改变菜单的背景图片,与1效果类似

    1、这是最基本的一步,基本上要求菜单高亮显示的,这个需求会同时存在;这里我们用CSS来解决这个需求;

        提示:您可以先修改部分代码再运行
    2、好,现在可以看到,第一点需求所要求的效果已经达到了,下面我们来实现第二个需求;这个就需要JS来实现了,简单一点,加入一段JavaScript
      【注:这是引用的会员yangedie回答会员copier的方法,地址 http://bbs.blueidea.com/thread-2863419-1-1.html 】

        提示:您可以先修改部分代码再运行
    3、OK,上面的页面不刷新的情况,一旦页面刷新,效果就没有了,这时候怎么办呢?没关系,我们尝试另外一段JS代码来达到这个效果,虽然代码有点长:
      【这段代码也是我在网上搜索而来,但是对其中一些代码片段不敢苟同,因此做了修改;而且这段JS的扩展性不够好,每次使用都必须根据实际情况进行修改】
      【这段代码只是做个示范,运行的话应该不会出现效果,实际的网站例子在5那边有链接】

        提示:您可以先修改部分代码再运行
    上面新添加的JS,会根据你访问的不一样的URL,分别使对应的菜单获得style修饰,因此必须根据你的实际情况进行修改

    4、鼠标移入更改背景图片,其实跟上面的都不太一样,只不过有一些相似之处,也放到这里吧

        提示:您可以先修改部分代码再运行
    5、最后,如果你需要使菜单横向排列的话,在CSS里加入这一行
      li {float:left;list-style-type: none;padding:0px;}
  • 相关阅读:
    c# list排序的三种实现方式 (转帖)
    LINQ TO SQL 中的join(转帖)
    Linq to sql 增删改查(转帖)
    DBLinq (MySQL exactly) Linq To MySql
    github
    eclipse安装github插件egit
    Android中图片的目录
    Fragment
    世界500强榜单出炉:中国公司首进三强 沃尔玛居首
    经济学,不会挣钱,更不会赚钱
  • 原文地址:https://www.cnblogs.com/zzh/p/1350935.html
Copyright © 2011-2022 走看看