<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
*{
margin: 0px;
padding: 0px;
}
ul{
list-style-type: none;
}
#nav{
height: 40px;
background-color: #eee;
margin: 0 auto;
}
a{
width: 80px;
/*padding: 0 10px;*/
text-decoration: none;
color: #000;
display: block;
line-height: 40px;
text-align: center;
}
ul li{
float: left;
position: relative;
}
ul li ul{
position: absolute;
left: 0px;
top:40px;
display: none;
}
ul li ul li{
float: none;
background-color: #eee;
margin-top: 2px;
}
a:hover{
color: #fff;
background-color: #666;
}
ul li ul li{
width: 80px;
}
/*#nav li a span{
display: none;
}
#nav li a:hover span{
display: block;
}
#nav li a:hover{
margin-top: -40px;
}*/
</style>
<script type="text/javascript">
window.onload = function(){
var iLi = document.getElementsByClassName("intro");
// console.log(iLi);
for(var i=0;i < iLi.length;i++){
iLi[i].onmouseover = function(){
// 找到相应的子菜单只需要在相应的下面父级菜单下面获取元素
var iUl = this.getElementsByTagName("ul")[0];
iUl.style.display = "block";
}
iLi[i].onmouseout = function(){
var iUl = this.getElementsByTagName("ul")[0];
iUl.style.display = "none";
}
}
}
</script>
</head>
<body>
<div >
<ul id="nav">
<li class="intro"><a href="#">首页<span>Home</span></a></li>
<li class="intro"><a href="#">课程大厅<span>Course</span></a>
<!-- 添加二级菜单 -->
<ul>
<li><a href="#">C语言</a></li>
<li><a href="#">Java</a></li>
<li><a href="#">HTML</a></li>
<li><a href="#">CSS</a></li>
</ul>
</li>
<li class="intro"><a href="#">学习中心<span>Learn</span></a>
<ul>
<li><a href="#">1</a></li>
<li><a href="#">2</a></li>
<li><a href="#">3</a></li>
<li><a href="#">4</a></li>
</ul>
</li>
<li class="intro"><a href="#">经典案例<span>Case</span></a>
<ul>
<li><a href="#">5</a></li>
<li><a href="#">6</a></li>
<li><a href="#">7</a></li>
<li><a href="#">8</a></li>
</ul>
</li>
<li class="intro"><a href="#">关于我们<span>About</span></a>
<ul>
<li><a href="#">C语言</a></li>
<li><a href="#">Java</a></li>
<li><a href="#">HTML</a></li>
<li><a href="#">CSS</a></li>
</ul>
</li>
</ul>
</div> </body>
</html>

js实现下拉菜单的更多相关文章

  1. 纯css和js版下拉菜单

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  2. js 联动下拉菜单

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  3. js版本下拉菜单

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  4. JS实现下拉菜单的功能

    <!DOCTYPE html> <html> <head> <meta charset = "utf8"> <title> ...

  5. js模拟下拉菜单-键盘、鼠标(代码详解)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. bootstrap和JS实现下拉菜单

    // bootstrap下拉菜单 <div class="btn-group"> <button id="button_text" type= ...

  7. js二级下拉菜单

    看似简单的一个菜单,确需要不少的知识点 1. getByClass getElementsByClassName 已经有大部分现代浏览器支持了,只有ie6,ie7,ie8是不支持的.所以对ie6,7, ...

  8. AngularJS进阶(四)ANGULAR.JS实现下拉菜单单选

    ANGULAR.JS: NG-SELECT AND NG-OPTIONS PS:其实看英文文档比看中文文档更容易理解,前提是你的英语基础还可以.英文文档对于知识点讲述简明扼要,通俗易懂,而有些中文文档 ...

  9. 原生js实现下拉菜单

    简单给两段代码: html和css部分: <style> .one li{ width:100px; height:30px; line-height:30px; background:u ...

随机推荐

  1. Linux 基础命令

    man      帮助命令   命令 --help   命令的简单帮助 help      命令的帮助(bash的内置命令) mkdir    创建目录  如makdir /data mkdir   ...

  2. linux 命令01

    mkdir 创建目录 cd 进入目录 touch 创建文件 touch oldboy.txt vi 编辑器,相当于记事本,有编辑功能,较弱 vim 复杂编辑器,相当于,emeditor,editplu ...

  3. MySQL 磁盘I/O问题

    一.使用磁盘阵列:RAID,廉价磁盘冗余阵列,可靠性,性能好. 二.使用 Symbolic Links 分布I/O 利用操作系统的符号链接将不同的数据库或表.索引指向不同的物理磁盘,达到分布磁盘I/O ...

  4. 复习(2)【postman,charles,filezilla server】

    Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件.通常我们可以用它来测试接口. Charles是在Mac下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的 ...

  5. BZOJ 3527: [Zjoi2014]力

    Description 求 \(E_i=\sum _{j=0}^{i-1} \frac {q_j} {(i-j)^2}-\sum _{j=i+1}^{n-1} \frac{q_j} {(i-j)^2} ...

  6. 面向对象Part3

    继承: Extends在英文中的翻译是拓展. 但是java允许多重继承. 一条线.单线. ------------------------------------------------------- ...

  7. 【JSTREE】 复选框默认选中【总结】

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  8. iOS CocoaPods 版本安装问题

    今天安装salesforce中的pods,这是里面的podfile # Uncomment this line to define a global platform for your project ...

  9. c#延迟加载

    public class BlogUser { public int Id { get; private set; } public Lazy<List<Article>> A ...

  10. 设计模式--桥接模式Bridge(结构型)

    一.概述 在软件系统中,某些类型由于自身的逻辑,它具有两个或者多个维度的变化,如何应对这种"多维度的变化",就可以利用桥接模式. 引例: 设想如果要绘制矩形.圆形.椭圆.正方形,我 ...