Javascript设计网页中的下拉菜单
网页中的另外两个函数mouseout() 和mouseover() 的功能很简单,分别用于处理鼠标移动时菜单项的颜色变化。 本文来自织梦
完整的源代码参见《电子与电脑》网站www.pccomputing.com.cn。
copyright dedecms
网页浏览的效果如图1所示,运行环境为IE4.0以上版本。
本文来自织梦
(图注WANGYE) 图1 内容来自dedecms
<HTML> 本文来自织梦
<HEAD>
<TITLE>网页中的下拉菜单</TITLE>
织梦内容管理系统
</HEAD> 织梦好,好织梦
<SCRIPT LANGUAGE="javascript" >
dedecms.com
var IsDroped =false;
织梦内容管理系统
function mouseout()
copyright dedecms
{ dedecms.com
window.event.srcElement.style.color = 'white';//鼠标移开时置为白色 织梦好,好织梦
}
dedecms.com
function mouseover()
内容来自dedecms
{ 内容来自dedecms
window.event.srcElement.style.color = 'red';//鼠标进入时置为红色//鼠标进入时置为红色 内容来自dedecms
} 内容来自dedecms
function doMenu(MenuID) dedecms.com
{ 内容来自dedecms
var CurMenu = document.all(MenuID);
file://为避免闪烁,假如下拉菜单已经显示则不重画. 织梦内容管理系统
if (IsDroped==true)
本文来自织梦
{ dedecms.com
window.event.cancelBubble = true;
return false;
本文来自织梦
} dedecms.com
window.event.cancelBubble = true; dedecms.com
TempMenu = CurMenu; 本文来自织梦
file://计算下拉菜单的位置 copyright dedecms
x = window.event.srcElement.offsetLeft window.event.srcElement.offsetParent.offsetLeft;
x2 = x window.event.srcElement.offsetWidth; copyright dedecms
y = pad.offsetHeight; dedecms.com
CurMenu.style.top = y; dedecms.com
CurMenu.style.left = x;
CurMenu.style.clip = "rect(0 0 0 0)"; 织梦好,好织梦
CurMenu.style.display = "block"; 织梦好,好织梦
file://延时2毫秒后再显示菜单,保证ToolbarMenu.offsetHeight有值,避免从主菜单移向下拉菜单时下拉菜单消失.
copyright dedecms
window.setTimeout("showMenu()", 2);
dedecms.com
return true;
本文来自织梦
}
本文来自织梦
function showMenu() copyright dedecms
{ 本文来自织梦
y2 = y TempMenu.offsetHeight;
TempMenu.style.clip = "rect(auto auto auto auto)";
IsDroped =true;//下拉菜单已经显示
织梦内容管理系统
}
织梦内容管理系统
function hideMenu()
织梦内容管理系统
{ 织梦好,好织梦
file://如果在下拉菜单的范围之内移动则不隐藏.
copyright dedecms
cY = event.clientY document.body.scrollTop;
if (cY>=y && cY<y2 && event.clientX >= (x 5) && event.clientX <= x2 || 织梦好,好织梦
cY>1 && cY<y && event.clientX >= (x 5) && event.clientX <= x2-10) 织梦内容管理系统
{ window.event.cancelBubble = true; return;} 织梦内容管理系统
file://隐藏 织梦内容管理系统
TempMenu.style.display = "none"; dedecms.com
window.event.cancelBubble = true; 内容来自dedecms
IsDroped =false;
本文来自织梦
} 织梦内容管理系统
</SCRIPT>
<body topmargin=0 leftmargin=0 marginheight=0 marginwidth=0>
copyright dedecms
<DIV ID='menu' STYLE='position:absolute;background-color:white;width:100%;top:0;left:0;'>
文章评论
共有位Admini5网友发表了评论 查看完整内容