【JavaScript】利用onmousemove与onmouseout事件制作兼容IE6纯javascript无插件原生态的下拉菜单dropdown

下拉菜单dropdown在很多前端框架里面都有,直接拿来用就可以的,但是框架内的下拉菜单不好改,也很可能会有兼容性问题。

其实这东西完全可以利用HTML+CSS+Javascript去实现的。

效果如下:

其基本制作思想如下:

首先是HTML与CSS的布局,先布置一个table,这个table里面有两行,一行放下拉按钮,一行放下拉菜单,占据整个宽度的100%,单元格之间的行距为0。

因为共5个元素每列占20%。

这里不用div的float去布局,是因为这里使用table的话,这个下拉菜单组非常好控制。根本就不用管下拉菜单所对应的下拉按钮在哪个位置,还要取出对应下拉菜单的坐标等等这样的烦心事。

下拉按钮所对应的下拉菜单一开始是隐藏的。如果鼠标放在下拉菜单与下拉按钮上面,则调用下面的javascript显示下拉菜单的事件,利用onmousemove事件,其实onmouseover也行的。

之后如果鼠标离开这个包含下拉菜单的表格,则利用onmouseout的事件。

<!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=utf-8" />
<title>dropdown</title>
</head>

<body>
<table id="dropdown" width="100%" onmouseout="dropdown_dismiss()" cellspacing="0">
    <tr align="center">
        <td onmousemove="dropdown_show(0)" width="20%" >
        下拉菜单1▼
        </td>
        <td onmousemove="dropdown_show(1)" width="20%">
        下拉菜单2▼
        </td>
        <td onmousemove="dropdown_show(2)" width="20%">
        下拉菜单3▼
        </td>
        <td onmousemove="dropdown_show(3)" width="20%">
        下拉菜单4▼
        </td>
        <td  onmousemove="dropdown_show(4)" width="20%">
        下拉菜单5▼
        </td>
    </tr>
    <tr align="center">
        <td onmousemove="dropdown_show(0)" width="20%" >
        <div style="display:none;">
        sssssss<br />
        sssssss<br />
        sssssss<br />
        sssssss<br />
        </div>
        </td>
        <td onmousemove="dropdown_show(1)" width="20%">
        <div style="display:none;">
        sssssss<br />
        sssssss<br />
        sssssss<br />
        sssssss<br />
        </div>
        </td>
        <td onmousemove="dropdown_show(2)" width="20%">
        <div style="display:none;">
        sssssss<br />
        sssssss<br />
        sssssss<br />
        sssssss<br />
        </div>
        </td>
        <td onmousemove="dropdown_show(3)" width="20%">
        <div style="display:none;">
        sssssss<br />
        sssssss<br />
        sssssss<br />
        sssssss<br />
        </div>
        </td>
        <td  onmousemove="dropdown_show(4)" width="20%">
        <div style="display:none;">
        sssssss<br />
        sssssss<br />
        sssssss<br />
        sssssss<br />
        </div>
        </td>
    </tr>
</table>
</body>
</html>

之后是脚本部分,与《【JavaScript】原生态兼容IE6的图片轮播》(点击打开链接)一样,先利用document.getElementById("dropdown").getElementsByTagName("div");取出id=dropdown这个表格的旗下所有div节点,形成一个数组。传过来showname参数,代表要显示id=dropdown这个表格的旗下第showname个div。刚好与下拉菜单所对应。之后,遍历所有div节点,除了第showname个div其余全部隐藏。

dropdown_dismiss函数是鼠标离开表格时的函数,则隐藏所有div。

<script>
function dropdown_show(showname){
	var dropdownArr=document.getElementById("dropdown").getElementsByTagName("div");
	for(var i=0;i<dropdownArr.length;i++){
		if(i==showname){
			dropdownArr[i].style.display="block";
		}
		else{
			dropdownArr[i].style.display="none";
		}
	}
}
function dropdown_dismiss(){
	var dropdownArr=document.getElementById("dropdown").getElementsByTagName("div");
	for(var i=0;i<dropdownArr.length;i++){
		dropdownArr[i].style.display="none";
	}
}
</script>
时间: 2024-08-24 06:14:14

【JavaScript】利用onmousemove与onmouseout事件制作兼容IE6纯javascript无插件原生态的下拉菜单dropdown的相关文章

制作下拉菜单(PopupList)

怎样判断是否应当使用下拉菜单 下拉菜单,就是将一系列的选项隐藏,通过单击某一个控件将会弹出一个包含这些选项的列表,在其中选择想要的选项.这样做不但可以节省屏幕空间,也可以让用户在进行选择时更加方便快捷. 下拉菜单本质上还是一个单选框,与Toggle的功能有一些类似,对于下拉菜单玩家必须选择一个选项(有一个默认的初始选项),在同一时间也只能选择一个选项(单选性质).在游戏开发过程中,如果碰到了以下特点的需求,就可以考虑用下拉菜单了. (1)有一系列选项需要玩家做出选择,这些选项是有限多的. (2)

onmousemove和onmouseout事件的调用,和js使用双引号、单引号的时候应该注意的问题

使用js的时候,统一使用双引号,然后通过反斜杠进行转义 ①如果同时使用单引号.和双引号的情况下容易出现问题,导致标签中表示的事件不能调用, ②导致由于标签没有封口而出现样式布局错误 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 5 <title

Highcharts是一个制作图表的纯Javascript类库

Highcharts是一个制作图表的纯Javascript类库,主要特性如下: 兼容性:兼容当今所有的浏览器,包括iPhone.IE和火狐等等: 对个人用户完全免费: 纯JS,无BS: 支持大部分的图表类型:直线图,曲线图.区域图.区域曲线图.柱状图.饼装图.散布图: 跨语言:不管是PHP.Asp.net还是Java都可以使用,它只需要三个文件:一个是Highcharts的核心文件highcharts.js,还有a canvas emulator for IE和Jquery类库或者MooTool

利用CSS制作下拉菜单

利用CSS制作下拉菜单 1.定义一个div,给div一个id或class,给div一个样式. eg:<div id="menu"></div> /*css #menu{ width:1024px; //给div定义一个宽度 height:40px; //给div定义一个高度 margin:0 auto; //让div居中显示 background-color:#eee; //给div一个背景颜色 } */ 2.制作下拉菜单所需的无序列表(ul). eg:<

javascript模拟select下拉菜单

javascript模拟select下拉菜单: 由于自带的select下拉菜单确实是不够美观,并且美化的潜力也不够大,所以对外观要求比较高的网站,基本都要使用自定义的select下拉菜单,下面就提供了一个简单的例子供大家参考,代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="

下拉菜单(键盘事件)

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>下拉菜单</title> <style type="text/css"> body,ul,li{ margin:0; padding:0; font-size:13px;} ul,li{list-style:none;} #d

15-08-02 例子:下拉菜单(阻止事件冒泡函数)

做一个下拉菜单,当点击表单元素时显示下拉菜单,鼠标放到菜单元素上时改变元素背景色,将菜单中选中的值传到表单中,当点击表单及下拉菜单时外的其他地方时,下拉菜单消失. <title>下拉菜单</title> <style type="text/css"> * { margin:0px; padding:0px; } #pingmu { width:100%; height:100%; position:fixed; background-color:#F

使用NGUI制作关联下拉菜单(查询全国天气)

关联菜单,在我们浏览网页时经常见到,它极大的方便了我们的操作,在游戏中,偶尔也会用到关联下拉菜单.下面,我们使用关联下拉菜单来查询下全国的天气. 首先,老规矩我们搭建基本的UI界面.我们就不自己去制作UI组件了,直接使用NGUI封装好的UI组件. 我们先创建于一个Sprite,重命名为BgSprite,为其选择图集和精灵. 在菜单中选择NGUI,选择Open,打开Prefab Toolbar,拖一个PopupList,重命名为ProvincePopupList.这里,我们要注意, 我们导入支持中

javascript 横向下拉菜单演示

<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>css横向下拉菜单演示</title><style type="text/c