js+css实现三级导航菜单

 更新时间:2021年08月19日 09:57:55   作者:supertianjia  
这篇文章主要为大家详细介绍了js+css实现三级导航菜单,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了js+css实现三级导航菜单的具体代码,供大家参考,具体内容如下

导航菜单hover事件用css实现相对容易,只需要将透明度更改即可,如果想要菜单有一个渐变的效果,然而可惜的是transition并不支持display,所以用opacity实现效果完全相同。

下面是用css实现的完整代码:

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8" />
  <title>三级导航菜单</title>
 </head>
 <style>
  *{
 margin: 0;
 padding: 0;
}
body{
 font-size: 16px;
 background-color:#EDEDED ;
 font-style: inherit;
 color:#757576 ;
}
.main{
 width: 1050px;
 margin: 0 auto;
}
.fl{
 float: left;
}
.fr{
 float: right;
}
a{
 text-decoration: none;
 outline: none;
 color:#757576 ;
}
ul,ol{
 list-style: none;
}
.clear{ 
 clear: both;
}
.clearfix{
 *zoom:1;
}
li{
 float: left;
 display: inline-block;
 width: 120px;
 height: 40px;
 text-align: center;
 line-height: 40px;
}
li a:hover{
 color: red;
}
#frist {
 opacity: 0;
}
#frist li{
 float: none;
 position: relative;
}
 li a:hover{
 color: red;
 transition: all 0.5s;
}
:hover{
 transition: all 2s; 
}
#second {
 opacity: 0;
 margin: -40px 0 0 80px;
 padding: 0px;
 position: absolute;
}
#nav_one:hover #frist{
 opacity:1;
 transition: all 2s;
}
#nav_two:hover #second{
 opacity:1;
 transition: all 2s;
}
 </style>
 
 <body>
  <div class="nav main">
   <ul id="nav">
    <li id="nav_one"><a href="#" >一级</a>
     <ul id="frist">
      <li id="nav_two" class="nav_two">
       <a href="#" >二级</a>
       <ul id="second">
        <li><a href="#" >三级</a></li>
        <li><a href="#" >三级</a></li>
        <li><a href="#" >三级</a></li>
       </ul>
      </li>
      <li class="nav_two"><a href="#" >二级</a></li>
      <li class="nav_two"><a href="#" >二级</a></li>
     </ul>
    </li> 
    <li><a href="#" >一级</a></li>
    <li><a href="#" >一级</a></li>
    <li><a href="#" >一级</a></li>
    <li><a href="#" >一级</a></li>
   </ul>
 </div>  
 </body>
</html>

js实现的相对麻烦一点,但也可以,代替了css中hover效果。

<!--<script>
 window.onload = function(){
  var one = document.getElementById("nav_one");
  var frist = document.getElementById("frist");
  var second = document.getElementById("second");
   one.onmouseover = function(){
    frist.style.opacity = "1";
    frist.style.transition = "all 2s";
    frist.style.WebkitTransition = "all 2s";
   }
   one.onmouseout = function(){
    frist.style.opacity = "0";
    frist.style.transition = "all 0.5s";
    frist.style.WebkitTransition = "all 0.5s";
   }
  var two = document.getElementById("nav_two");
   two.onmouseover = function(){
    second.style.opacity = "1";
    second.style.transition = "all 2s";
    second.style.WebkitTransition = "all 2s";
   }
   two.onmouseout = function(){
    second.style.opacity = "0";
    second.style.transition = "all 0.5s";
    second.style.WebkitTransition = "all 0.5s";
   }
  }
</script>-->

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • JavaScript用JQuery呼叫Server端方法示例代码

    JavaScript用JQuery呼叫Server端方法示例代码

    这篇文章主要介绍了JavaScript用JQuery呼叫Server端方法,需要的朋友可以参考下
    2014-09-09
  • JavaScript实现仿Clock ISO时钟

    JavaScript实现仿Clock ISO时钟

    这篇文章给大家分享了JavaScript实现仿Clock ISO时钟的方法以及实例代码,有兴趣的朋友参考学习下下。
    2018-06-06
  • JS样式获取的封装方法实例详解

    JS样式获取的封装方法实例详解

    这篇文章主要介绍了JS样式获取的封装方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • uniapp使用第三方UI库uview-plus的方法

    uniapp使用第三方UI库uview-plus的方法

    uview-plus是uni-app全面兼容nvue的uni-app生态框架,全面的组件和便捷的工具会让您信手拈来,下面这篇文章主要给大家介绍了关于uniapp使用第三方UI库uview-plus的方法,需要的朋友可以参考下
    2023-04-04
  • 详解JavaScript中的数据类型转换

    详解JavaScript中的数据类型转换

    在JavaScript中,数据类型的转换是一项常见的任务,不同的数据类型之间需要相互转换以满足程序的需求,本篇博客将深入探讨JavaScript中的数据类型转换,包括隐式转换和显式转换的概念、转换规则和常见的数据类型转换示例
    2023-06-06
  • 简单谈谈json跨域

    简单谈谈json跨域

    本文主要给大家讲解了javascript中的json跨域问题,以及跨域安全性的解决办法,总结了2点,分享给大家,希望大家能够喜欢。
    2016-03-03
  • JavaScript装饰器的实现原理详解

    JavaScript装饰器的实现原理详解

    最近在使用TS+Vue的开发模式,发现项目中大量使用了装饰器,看得我手足无措,今天特意研究一下实现原理,方便自己理解这块知识点,有需要的小伙伴也可以参考一下
    2022-10-10
  • JS采用绝对定位实现回到顶部效果完整实例

    JS采用绝对定位实现回到顶部效果完整实例

    这篇文章主要介绍了JS采用绝对定位实现回到顶部效果,以完整实例形式分析了JS定位到页面顶部功能的实现方法,涉及javascript动态操作页面元素与属性的相关技巧,需要的朋友可以参考下
    2016-06-06
  • mqtt.js 无法连接/错误提示 WebSocket connection to ‘ws://xxxxx‘ failed:的解决方法

    mqtt.js 无法连接/错误提示 WebSocket connection to ‘ws://xxxxx‘ 

    这篇文章主要介绍了mqtt.js 无法连接/错误提示 WebSocket connection to ‘ws://xxxxx‘ failed:,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-01-01
  • 效率高的Javscript字符串替换函数的benchmark

    效率高的Javscript字符串替换函数的benchmark

    这是经常使用的HTML特殊字符替换函数,即将 &、<、>、" 等函数替换成 &、<、>、"。通常的作法都是连续使用数个 replace 函数,而Clear仅使用一个 replace 就完成了替换。
    2008-08-08

最新评论