...在一级上时候,二级菜单正常显示。当鼠标移动到二级菜单,_百度...
发布网友
发布时间:2024-10-13 08:16
我来回答
共5个回答
热心网友
时间:2024-10-13 08:57
如果我猜的不错的话,你用的方法是鼠标在一级上时,二级的display设置为block,当鼠标离开一级时display为none。所以当你的鼠标离开一级指向二级时二级隐藏了。
你可以这样写,当鼠标指向一级节点时,它的二级节点为显示,而其他一级节点的二级节点隐藏;当鼠标离开时不需要做函数处理。
下面是我做的一个简单的例子,希望对你有帮助
<!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>
<style type="text/css">
li{
float:left;
border:1px solid red;
}
li ul li{
position:relative;
border:none;
background:#0FF;
float:none;
}
li ul{
display:none;
}
</style>
<script type="text/javascript" >
function testShow(num){
//alert("the show");
for(var i=1; i<5; i++){
var obj=document.getElementById("test"+i);
obj.style.display="none";
}
var obj1=document.getElementById("test"+num);
obj1.style.display="block";
}
</script>
</head>
<body>
<input type="button" value="click" onclick="testShow()" />
<ul>
<li onmouseover="testShow(1)">第一个第一层
<ul id="test1">
<li>第一个第二层</li>
<li>第一个第二层</li>
</ul>
<li onmouseover="testShow(2)">第二个第一层
<ul id="test2" >
<li>第二个第二层</li>
<li>第二个第二层</li>
</ul>
<li onmouseover="testShow(3)">
第三个第一层
<ul id="test3">
<li>第三个第二层</li>
<li>第三个第二层</li>
</ul>
</li>
<li onmouseover="testShow(4)">
第四个第一层
<ul id="test4" >
<li>第四个第二层</li>
<li>第四个第二层</li>
</ul>
</li>
<li></li>
</ul>
</body>
</html>
热心网友
时间:2024-10-13 08:51
从你的代码可以看出 display:none为不显示 如果要其显示的话为display:block;当鼠标移动到一级导航li:hover改变display才会显示,也就是移动到li的内容中才能显示,当你移到二级导航中时加上一个relative为相对定位,占元素空间默认为li的一部分,因此显示正常
热心网友
时间:2024-10-13 08:55
请设置绝对定位
热心网友
时间:2024-10-13 08:57
求助 在哪加啊?
热心网友
时间:2024-10-13 08:54
啊