层的显示隐藏及居中,急呀~~~~

isaxu 2003-03-25 02:44:57
两层目录,鼠标移动到一级目录,下面显示出其子目录(在此一级目录下面显示),鼠标移开,子目录消失,怎么办?源代码如下,这段代码只能实现显示子目录,但是子目录不能准确消失,而且子目录总是在页面的最左边,不能和其父目录对应。请大虾帮忙!!!
<?php

echo "<script LANGUAGE=JavaScript>\n ";

echo " function showIt(i) \n ";
echo " { \n";
echo " whichE1 = eval('a' + i ); \n";
echo " whichE1.style.visibility = 'visible'; \n ";
echo " for(j = 0;j<count1 && j!=i;j++) \n ";
echo " { \n ";
echo " whichE1 = eval('a' + j ); \n";
echo " whichE1.style.visibility = 'hidden'; \n ";
echo " } \n ";
echo " } \n ";

echo "</script>";
?>



<body>

<table width="90%" border="0">
<tr>
<?php for ($i=0;$i<$count1;$i++){ ?>
<td onMouseOver="showIt('<?php echo $i;?>')">
<table>

<tr>
<td>
<a href='select_result.php?typename=<?php echo $type1[$i]; ?>'><?php echo $type1[$i];?></a>
</td>
</tr>

<tr>
<td>
<div id="<?php echo 'a'.$i;?>" class="gen1" style="position:absolute; width:113px; height:82px; z-index:1; left: 3px; top: 33px; visibility: hidden;">
<table width="90%" border="0">
<?php for ($j=0;$j<$count2[$i];$j++){ ?>
<tr><td><a href='select_result.php?typename=<?php echo $type2[$i][$j]; ?>'><?php echo $type2[$i][$j];?></a></td></tr>
<?php } ?>
</table>
</div>
</td>
</tr>

</table>
</td>
<?php } ?>
</tr>
</table>

</body>

...全文
31 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
isaxu 2003-03-26
  • 打赏
  • 举报
回复
可是还有一个问题:当鼠标移往别处的的时候,最后一个显示的子类不会消失阿,一直在那里!:(
还请大虾拨冗指点!多谢!:)
isaxu 2003-03-26
  • 打赏
  • 举报
回复
多谢多谢!
已经加分!!
ckxp 2003-03-26
  • 打赏
  • 举报
回复
我这边有个好例子可以做参考
http://www.ckxp.net/bookshop/logins.asp
ssm1226 2003-03-25
  • 打赏
  • 举报
回复
修改如下:

其中,一些数据是我的测试数据,替为你的数据即可

<?php

echo "<script LANGUAGE=JavaScript>\n ";
echo "var lastObj=null;\n";
echo " function showIt(i) \n ";
echo " { \n";
echo " var o=window.event.srcElement;\n";
echo " var oPosT=o.offsetTop;\n";
echo " var oPosL=o.offsetLeft;\n";
echo " while(o=o.offsetParent){\n";
echo " //if(o==NaN) continue;\n";
echo " oPosT+=o.offsetTop; \n";
echo " oPosL+=o.offsetLeft;\n";
echo "}\n";
echo "if(lastObj!=null) lastObj.style.visibility='hidden';";
echo " whichE1 = eval('a' + i ); \n";
echo " whichE1.style.pixelLeft=oPosL;\n";
echo " whichE1.style.pixelTop=oPosT+25;";
echo " whichE1.style.visibility = 'visible'; \n ";
echo " lastObj=whichE1;";
echo " } \n ";

echo "</script>";

$type1=array("菜单一","菜单二","菜单三");
$type2=array(0=>array("菜单一(1)","菜单一(2)"),1=>array("菜单二(1)","菜单二(2)"),2=>array("菜单三(1)","菜单三(2)"));
$count1=count($type1);

for($i=0;$i<$count1;$i++){
$count2[$i]=count($type2[$i]);
}

?>



<body>

<table width="90%" border="0">
<tr>
<?php for ($i=0;$i<$count1;$i++){ ?>
<td >
<table>

<tr>
<td>
<div onMouseOver="showIt('<?php echo $i;?>')"><a href='select_result.php?typename=<?php echo $type1[$i]; ?>'><?php echo $type1[$i];?></a></div>
</td>
</tr>

<tr>
<td>
<div id="<?php echo 'a'.$i;?>" class="gen1" style="position:absolute; width:113px; height:82px; z-index:1; left: 3px; top: 33px; visibility: hidden;">
<table width="90%" border="0">
<?php for ($j=0;$j<$count2[$i];$j++){ ?>
<tr><td><a href='select_result.php?typename=<?php echo $type2[$i][$j]; ?>'><?php echo $type2[$i][$j];?></a></td></tr>
<?php } ?>
</table>
</div>
</td>
</tr>

</table>
</td>
<?php } ?>
</tr>
</table>

</body>

61,110

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧