收藏本站腾讯微博新浪微博

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 网站开通淘帖功能 - 蓝色理想插件 论坛内容导读一页看论坛 - 给官方提建议

论坛活动及任务 地图和邮件任务 请多用悬赏提问 热夏来袭,选一款蓝色理想的个性T恤吧!

手机上论坛,使用APP获得更好体验 急需前端攻城狮,获得内部推荐机会 论坛开通淘帖功能,收藏终于可以分类了!

搜索
查看: 1324|回复: 4

请教一个层的问题

[复制链接]
发表于 2004-11-24 14:28:00 | 显示全部楼层 |阅读模式
为什么每次鼠标从公司简介挪到子菜单的时候,都总是显示第二层呢???即使做多个子层,也都是只显示第二层,我哪里设做了吗??请大家帮忙解答一下,代码如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>div练习</title>
<style type="text/css">
<!--
body {
        margin-left: 0px;
        margin-top: 0px;
        margin-right: 0px;
        margin-bottom: 0px;
}
-->
</style>
<link href="style1.css" rel="stylesheet" type="text/css" />
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible'v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
//-->
</script>
</head>

<body>
<table width="778" height="40" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#000000">
  <tr bgcolor="#FFFFFF">
    <td width="78" onmouseover="MM_showHideLayers('Layer3','','hide','Layer2','','show')"><div id="Layer1" style="position:absolute; width:0px; height:0px; z-index:1">
      <div id="Layer3" style="position:absolute; width:770px; height:20px; z-index:2; top: 20px; left: -28px; visibility: hidden;" onmouseover="MM_showHideLayers('Layer3','','show','Layer2','','hide')" onmouseout="MM_showHideLayers('Layer3','','hide')">※&nbsp;&nbsp;<a href="#">公司论坛</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;※&nbsp;<a href="#">公司论坛</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;※&nbsp;<a href="#">公司论坛</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;※&nbsp;<a href="#">公司论坛</a></div>
      <div id="Layer2" style="position:absolute; width:770px; height:20px; z-index:1; left: -28px; top: 20px; visibility: hidden;" onmouseout="MM_showHideLayers('Layer2','','hide')">※&nbsp;&nbsp;<a href="#">公司简介</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;※&nbsp;<a href="#">公司简介</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;※&nbsp;<a href="#">公司简介</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;※&nbsp;<a href="#">公司简介</a>
        
      </div>
    </div>
    首页  </td>
    <td width="78" onmouseover="MM_showHideLayers('Layer3','','show','Layer2','','hide')">公司简介</td>
    <td width="78">团队成员</td>
    <td width="78">公司论坛</td>
    <td width="78">留言本</td>
    <td width="78">联系方式</td>
    <td width="78">董事长致辞</td>
    <td width="78">&nbsp;</td>
    <td width="78">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr bgcolor="#FFFFFF">
    <td height="15" colspan="10">&nbsp;</td>
  </tr>
</table>
</body>
</html>
 楼主| 发表于 2004-11-24 16:44:00 | 显示全部楼层
不是吧,才发2个多小时就要沉了啊。麻烦大家给解答一下好吗??
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-11-25 11:36:00 | 显示全部楼层
晕了,为什么每次我的帖子都沉了没人帮忙啊。我没得罪什么人吧
回复 支持 反对

使用道具 举报

发表于 2004-11-25 12:19:00 | 显示全部楼层
你贴这么长串的代码,还不“关闭笑脸”转换,谁愿意看?
我先把你的代码转贴一下,再分析...
楼主的代码如下所示:
*****************************************************************************************************************

 提示:您可以先修改部分代码再运行

回复 支持 反对

使用道具 举报

发表于 2004-11-25 12:49:00 | 显示全部楼层
错误就在<body>标签下第3行的代码:
<td width="78" onmouseover="MM_showHideLayers('Layer3','','hide','Layer2','','show')"><div id="Layer1" style="position:absolute; width:0px; height:0px; z-index:1">

************************************************************************************************************
分析:改单元格中包含了层“Layer1”,而“Layer1”又中又包含了“Layer3”和“Layer2”两个层,因此“Layer3”和“Layer2”两个层均属于这个单元格中的内容,所有鼠标事件应符合该单元格的鼠标事件。该单元格的鼠标事件设置为onmouseover="MM_showHideLayers('Layer3','','hide','Layer2','','show'),因此当鼠标位于层“Layer2”或“Layer3”上是,同时也是位于单元格中,因此响应事件为【隐藏显示层“Layer3”,隐藏显示“Layer2”】(即该单元格的鼠标事件)。而虽然在层“Layer3”和“Layer2”上也设置了鼠标事件,但此时已被忽略(即不响应)。
这就是你问题的根源,不知楼主明白否?
----------------------------------------------------------
解决的办法:将层“Layer1”(及其嵌套的层“Layer3”和“Layer2”)移至该单元格之外,坐标你想办法重新定位。其他菜单的地方“如法炮制”。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|Archiver|手机版|blueidea.com ( 湘ICP备12001430号 )  

GMT+8, 2020-9-21 08:59 , Processed in 0.109098 second(s), 8 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表