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;}
  • 相关阅读:
    XML(学习笔记)
    css样式学习笔记
    Request(对象)
    sql一些错误修改的总结
    转载(如何学习C#)
    sql server(学习笔记2 W3Cschool)
    sql sqrver(学习笔记1 W3Cschool)
    关于 flutter开发碰到的各种问题,有的已经解决有的一直没解决或者用其他方法替代
    关于 Flutter IOS build It appears that your application still contains the default signing identifier.
    关于 flutter本地化问题 The getter 'pasteButtonLabel' was called on null
  • 原文地址:https://www.cnblogs.com/zzh/p/1350935.html
Copyright © 2011-2022 走看看