Web前端开发实战2:二级下拉式菜单之JS实现

上一篇博文提到了二级下拉式菜单是用HTML和CSS实现的,我们这一篇来用JavaScript脚本实现下拉菜单的显

示和隐藏。使用 JavaScript方法实现我们需要用的知识有:

1)JS事件:onmouseover鼠标经过事件和onmouseout鼠标离开事件。

2)JS基础语法:使用function关键字定义函数。

3)DOM编程:getElementsByTagName()方法。

那么接下来就是我们制作的流程:

1)隐藏二级菜单:设置CSS样式,让二级菜单隐藏。

2)编写显示子菜单showsub()函数:使用getElementsByTagName获取二级菜单项;通过style.display设置二级

菜单显示。

3)编写隐藏子菜单hidesub()函数:使用getElementsByTagName获取二级菜单项;通过style.display设置二级菜

单隐藏。

4)添加鼠标事件:给有二级菜单的一级菜单添加鼠标事件,并调用showsub()/hidesub()函数,实现鼠标经过一级菜

单,二级菜单显示和隐藏。

5)做浏览器兼容性检测,至少五个浏览器。IE7,8,9,火狐,谷歌,2345浏览器等。

HTML代码:

<span style="font-size:18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>下拉菜单</title>
<!--引入的外部CSS样式文件-->
<link rel="stylesheet" type="text/css" href="style.css" />
<!--引入的外部JS脚本文件-->
<script type="text/javascript" src="script.js"></script>
</head>

<body>
<div id="nav" class="nav">
     <ul>
	          <li><a href="#">网站首页</a></li>
		  <li onmouseover="showsub(this)" onmouseout="hidesub(this)"><a href="#">课程大厅</a>
		      <ul>
			      <li><a href="#">JavaScript</a></li>
			      <li><a href="#">jQuery</a></li>
			      <li><a href="#">Ajax</a></li>
		      </ul>
		  </li>
		  <li onmouseover="showsub(this)" onmouseout="hidesub(this)"><a href="#">学习中心</a>
		      <ul>
			      <li><a href="#">视频学习</a></li>
			      <li><a href="#">案例学习</a></li>
			      <li><a href="#">交流平台</a></li>
		      </ul>
		  </li>
		  <li><a href="#">经典案例</a></li>
		  <li><a href="#">关于我们</a></li>
     </ul>
</div>
</body>
</html>
</span>

外部CSS样式表style.css文件代码:

<span style="font-size:18px;">/*CSS全局设置*/
*{
   margin:0;
   padding:0;
}
.nav{
   background-color:#EEEEEE;
   height:40px;
   width:450px;
   margin:0 auto;
}
ul{
   list-style:none;
}
ul li{
   float:left;
   line-height:40px;
   text-align:center;
}
a{
    text-decoration:none;
	color:#000000;
	display:block;
	width:90px;
	height:40px;
}
a:hover{
    background-color:#666666;
	color:#FFFFFF;
}
ul li ul li{
    float:none;
	background-color:#EEEEEE;
}
ul li ul{
	display:none;
}
/*为了兼容IE7设置的CSS样式,但是又必须写在a:hover前面*/
ul li ul li a:link,ul li ul li a:visited{
    background-color:#EEEEEE;
}
ul li ul li a:hover{
    background-color:#009933;
}
</span>

外部JS脚本script.js文件代码:

<span style="font-size:18px;">function showsub(li){
	var submenu=li.getElementsByTagName("ul")[0];
	submenu.style.display="block";
}
function hidesub(li){
	var submenu=li.getElementsByTagName("ul")[0];
	submenu.style.display="none";
}</span>

效果展示:

1初始化状态或鼠标离开显示为横向一级菜单:

2鼠标滑过有二级下拉菜单的元素时显示下拉菜单:

3显示的下拉菜单中的链接样式:

时间: 2024-10-02 04:59:00

Web前端开发实战2:二级下拉式菜单之JS实现的相关文章

Web前端开发实战6:CSS实现导航菜单结合二级下拉式菜单的简单变换

前面几篇博文都在讲导航菜单和二级下拉式菜单,其实有很多方法都可以实现的,具体的情况还要视情况而定. 在后面学习到jQuery框架之后,会有更丰富的动画效果,由于在学习Ajax和jQuery的初步阶段,对于很多的复杂的导 航菜单和二级下拉式菜单没法做,但是学习了CSS和JS还是能实现一些简单的变换的.这篇博文就来说说用CSS实现 导航菜单结合二级下拉式菜单的两个简单变换吧. 首先还是在前面博文的基础上加以实现,其实只用HTML和CSS还是可以做出不错的效果,但是相较于JS和 jQuery来说就有很

Web前端开发实战3:二级下拉式菜单之jQuery实现

大家都知道jQuery是一个框架,它对JS进行了封装,使其更方便使用.前面两篇博文分别是用CSS样式和JS实现 的,那么这篇就用jQuery来实现二级下拉式菜单. 使用JQuery实现需要用到的知识有: 1)使用$(function(){...})获取到想要作用的HTML元素. 2)通过使用children()方法寻找子元素. 3)通过使用show()方法来显示HTML元素. 4)通过使用hide()方法来隐藏HTML元素. 5)jQuery库引用方法: 第一种方法:将jQuery库下载到电脑上

Web前端开发实战4:导航菜单(一)

在前面的博文中我们提到横向一级菜单,这里我们来看看导航菜单.导航菜单种类很多,但是制作原理都是大同 小异的,这里看的比二级下拉式菜单还简单.来看一些网站上的导航菜单: 垂直导航菜单: 水平导航菜单: 一垂直菜单 制作原理:(1)用无序列表构建菜单:(2)<a>标签的设置:ul li a{display:block;}.定义的关键是将<a>标签设置为 块元素. 代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Trans

jquery实现的点击二级下拉导航菜单

jquery实现的点击二级下拉导航菜单:二级下拉导航菜单是各种类型的网站都有使用,所以是一个必须掌握的技能,对于老手来说肯定是轻松加愉快,但是对于初学者来说未必如此,下面就通过代码实例详细介绍一下点击二级下拉菜单实现过程.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="htt

纯CSS实现的二级下拉导航菜单实例代码

纯CSS实现的二级下拉导航菜单实例代码:二级下拉菜单在众多的网站都有应用,不但能够有效的组织分类导航,并且能够节省大量的网站空间,也能够实现网站的动态化效果,大多数二级导航菜单都是结合javascript实现,本章节介绍一下使用纯css实现的下拉菜单.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" co

QPushButton下拉式菜单(是否取消下拉三角,是否check)

给QPushButton添加菜单的示例,前面已经有了三种方式: Qt学习之给QPushButton添加菜单ActionsContextMenu方法 Qt学习之给QPushButton添加菜单CustomContextMenu方法 Qt学习之给QPushButton添加菜单DefaultContextMenu方法 今天再提供一种方式,就是给QPushButton添加下拉式菜单.类似于Combobox一样.前面三种方式实现的都是光标在哪个位置,菜单就在哪里显示.而下拉式菜单只在按钮的下方显示,同时会

为下拉式菜单(DropDownList)添加第一个选项

很多方法可以为为下拉式菜单(DropDownList)添加第一个选项,下面是Insus.NET小结了几个方法,仅供参考: Html code: <body>    <form id="form1" runat="server">    <div>        <asp:DropDownList ID="DropDownList1" runat="server">        

用JavaScript+css制作下拉式菜单

1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="UTF-8"> 5 <title>用javascript下拉式菜单</title> 6 7 <style type="text/css"> 8 *{ 9 padding: 0; 10 margin: 0; 11 12 } 13 body{

[angular2]select(下拉式菜单)如何设定默认选项,如何显示value而选中的值是key

select(下拉式菜单)如何设定默认选项,如何显示value而选中的值是key 前言 官网甚少提到关于html的下拉式菜单的一些做法,自己因为一些特殊的要求,所以写篇文章记录一下. 范例 如何给一个默认值,并且如果没有选取的话,验证是不通过的状态呢?请参考下面的示例 import { Component } from '@angular/core'; import { NgForm } from "@angular/forms/src/directives"; @Component(