大家帮帮我,看我的这段代码怎么修改可以实现我现在的功能,谢谢

terryxin 2002-04-16 08:53:28
我现在能实现的功能是:在我点一个菜单的时候。当前菜单的颜色要改变,其他的菜单的颜色恢复默认值,我现在遇到的问题是:当我点主菜单的时候。其他的主菜单可以恢复默认颜色,但。子菜单不恢复恢复默认颜色。当我点子菜单的时候。其他的子菜单可以恢复默认颜色,但。刚刚点过的主菜单不恢复恢复默认颜色。不知道什么原因,帮我看看,很急。
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<title>菜单</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="include/Font.css">
</head>
<script language="JavaScript">
<!--
function setColor()
{
window.event.cancelBubble=true;
objSRC=window.event.srcElement;
while(objSRC.tagName!="TR")
{
objSRC=objSRC.parentNode;
}
for(i=0;i<objSRC.parentNode.children.length;i++)
{
objSRC.parentNode.children(i).bgColor="#637fb9";
objFont=objSRC.parentNode.children(i).children(1);
while(objFont.tagName!="FONT")
{
objFont=objFont.children(0);

}
objFont.color="";
}

objSRC.bgColor="#637fb9";
window.event.srcElement.color="#FFFF66";
}
-->
</script>
<SCRIPT LANGUAGE="JavaScript">
<!--
var bV=parseInt(navigator.appVersion);
var NS4=(document.layers) ? true : false;
var IE4=((document.all)&&(bV>=4))?true:false;
var ver4 = (NS4 || IE4) ? true : false;

function expandIt(){return}
function expandAll(){return}
function nomsg(){self.status="";}

if(ver4){
isExpanded = false;

function getIndex(el) {
ind = null;
for (i=0; i<document.layers.length; i++) {
whichEl = document.layers[i];
if (whichEl.id == el) {
ind = i;
break;
}
}
return ind;
}
function arrange() {
nextY = document.layers[firstInd].pageY + document.layers[firstInd].document.height;
for (i=firstInd+1; i<document.layers.length; i++) {
whichEl = document.layers[i];
if (whichEl.visibility != "hide") {
whichEl.pageY = nextY;
nextY += whichEl.document.height;
}
}
}


function initIt(){
if (NS4) {
for (i=0; i<document.layers.length; i++) {
whichEl = document.layers[i];
if (whichEl.id.indexOf("Child") != -1) whichEl.visibility = "hide";
}
arrange();
}
else {
tempColl = document.all.tags("DIV");
for (i=0; i<tempColl.length; i++) {
if (tempColl(i).className == "child") tempColl(i).style.display = "none";
}
}
}


function expandIt(el) {
if (!ver4) return;
if (IE4) {expandIE(el)} else {expandNS(el)}
}

function expandIE(el) {
whichEl = eval(el + "Child");
whichIm = event.srcElement;

if (whichEl.style.display == "none") {
whichEl.style.display = "block";
whichIm.src = "images/midminus.gif";
}
else {
whichEl.style.display = "none";
whichIm.src = "images/midplus.gif";
}
}
function expandNS(el) {
whichEl = eval("document." + el + "Child");
whichIm = eval("document." + el + "Parent.document.images['imEx']");
if (whichEl.visibility == "hide") {
whichEl.visibility = "show";
whichIm.src = "images/midminus.gif";
}
else {
whichEl.visibility = "hide";
whichIm.src = "images/midplus.gif";
}
arrange();
}

function showAll() {
for (i=firstInd; i<document.layers.length; i++) {
whichEl = document.layers[i];
whichEl.visibility = "show";
}
}



}
//-->
</SCRIPT>
<body leftmargin="0" topmargin="0" bgcolor="#FFFFFF">
<table border="0" cellspacing="0" cellpadding="0" width="155" height="600">
<tr>
<td height="655" width="154" valign="top" bgcolor="#637fb9">
<div align="center">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td height="46">
<div align="center"><img src="images/sys01.gif" width="154" height="83"></div>
</td>
</tr>
</table>
<br>
<br>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="13%">
</td>
<td width="87%" valign="top"><img src="images/line.gif" width="16" height="16"></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#637fb9">
<td height="30" width="36" bgcolor="#637fb9">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="30">
<tr>
<td width="37">
</td>
<td width="10" background="images/line.gif" valign="top"><img src="images/lastblk.gif" width="16" height="16"></td>
</tr>
</table>
</td>
<td height="30" width="118" valign="top"> <a href="syse/syse01.htm" target="mainFrame" onClick="setColor()"><font color="#FFFF66">人事变动</font></a></td>
</tr>
<tr bgcolor="#637fb9">
<td width="36" bgcolor="#637fb9">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="30">
<tr>
<td width="37">
</td>
<td width="10" background="images/line.gif" valign="top"><img src="images/lastblk.gif" width="16" height="16"></td>
</tr>
</table>
</td>
<td width="118" height="30" valign="top"> <a href="syse/syse02.htm" target="mainFrame" onClick="setColor()"><font color="">人事档案</font></a></td>
</tr>
<tr bgcolor="#637fb9">
<td width="36" bgcolor="#637fb9" valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="20">
<tr>
<td width="37" height="20">
</td>
<td width="10" background="images/line.gif" valign="top" height="20"><a href="#" onClick="expandIt('elOne'); return false"><img src="images/midminus.gif" width="16" height="16" border="0"></a></td>
</tr>
</table>
</td>
<td width="118" valign="top"> <a href="#" onClick="setColor()"><font color="">组织管理</font></a>
</td>
</tr>
</table>
<div ID="elOneChild" CLASS="child" style="margin-left: 0.5px">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="24%">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="50">
<tr>
<td width="20" height="30">
</td>
<td width="17" background="images/line.gif" valign="top" height="30"></td>
</tr>
</table>
</td>
<td width="76%">
<table width="98%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr bgcolor="#637fb9">
<td width="18%" background="images/line.gif"><img src="images/lastblk.gif" width="16" height="16"></td>
<td width="82%" height="25"><a href="syse/syse03-1.htm" target="mainFrame" onClick="setColor()"><font color="">组织框架</font><a></a></a></td>
</tr>
<tr bgcolor="#637fb9">
<td width="18%" valign="top"><img src="images/lastblk.gif" width="16" height="16"></td>
<td width="82%" height="25"><a href="syse/syse03-2.htm" target="mainFrame" onClick="setColor()"><font color="">公司信息</font><a></a></a></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="14%">
</td>
<td width="86%" valign="top"><img src="images/bj.gif" width="97" height="8"></td>
</tr>
</table>
</div>
</td>
<td width="1" valign="top" background="images/bj04.gif" height="655">
</td>
</tr>
</table>
</body>
<SCRIPT LANGUAGE="JavaScript1.2">
<!--
if(NS4){
firstEl = "elOneParent";
firstInd = getIndex(firstEl);
showAll();
arrange();
}
//-->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">

<!-- hide

function goHist(a)

{

history.go(a);

}

//-->

</SCRIPT>
</html>
...全文
31 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
terryxin 2002-05-04
  • 打赏
  • 举报
回复
xiexie
terryxin 2002-04-24
  • 打赏
  • 举报
回复
谢谢大家
liuzxit 2002-04-17
  • 打赏
  • 举报
回复
更正1
1.每個font都給一個ID﹐同時加一個hidden物件用于記錄點擊的ID﹐點擊時所記錄的ID的FONT COLOR=默認顏色﹐然后把點擊ID號記錄到HIDDEN﹐同時改顏色﹔
liuzxit 2002-04-17
  • 打赏
  • 举报
回复
幫你改的過程中我好象在做一個証明題一樣﹐結論如下﹕
跟include/Font.css文件無關﹔
以你目前的思路或者說方法無法實現你的意圖﹐因為你的父層和子層不屬于同一層﹐你可以加這一句alert(objSRC.parentNode.children.length);檢查出點擊時執行的事件并沒有檢查出父層或子的數目﹐所以只會改變同層的顏色。我試圖把他們放到同一層來處理﹐但這樣就很難實現收合(或許可以﹐但我不想費太多的神)。
針對你的情況我可以給你提供一些思路﹕
1.每個font都給一個ID﹐同時加一個hidden物件﹐所記錄的ID的FONT COLOR=默認顏色﹐然后把點擊ID號記錄到HIDDEN﹐同時改顏色﹔
2.你用一個循環檢測完父層(應該說最高層)的children時﹐每個children再檢測有多少個子children﹐并一一改色﹐這個方法我不知能否實現﹐思路而已﹔
3.你這個方法就我的感覺真的很笨﹐你可以配合class,ID來實現﹐我看你的代碼應該是樹狀吧(沒圖﹐不肯定)﹐其實有很多例子你可以找﹐不過我沒有現成的﹐不然給你一個。
以上純屬個人見解﹐可能會限于水平發表有誤﹐僅供參考。
wd_318 2002-04-17
  • 打赏
  • 举报
回复
对程序中用到的两个TABLE都作了标识了,并直接在程序中引用,程序灵活性就比较差了,不过功能算是马马虎虎达到了:)

<table width="100%" border="0" cellspacing="0" cellpadding="0" id="table1">
<table width="98%" border="0" cellspacing="0" cellpadding="0" align="center" id="table2">
wd_318 2002-04-17
  • 打赏
  • 举报
回复
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<title>菜单</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="include/Font.css">
</head>
<script language="JavaScript">
<!--
function setColor()
{
window.event.cancelBubble=true;
objSRC=window.event.srcElement;

for(i=0;i<table1.children(0).children.length;i++)
{
table1.children(0).children(i).bgColor="#637fb9";
objFont=table1.children(0).children(i).children(1);
while(objFont.tagName!="FONT")
{
objFont=objFont.children(0);
}
objFont.color="";
}

for(i=0;i<table2.children(0).children.length;i++)
{
table2.children(0).children(i).bgColor="#637fb9";
objFont=table2.children(0).children(i).children(1);
while(objFont.tagName!="FONT")
{
objFont=objFont.children(0);
}
objFont.color="";
}
objSRC.bgColor="#637fb9";
window.event.srcElement.color="#FFFF66";
}
-->
</script>
<SCRIPT LANGUAGE="JavaScript">
<!--
var bV=parseInt(navigator.appVersion);
var NS4=(document.layers) ? true : false;
var IE4=((document.all)&&(bV>=4))?true:false;
var ver4 = (NS4 || IE4) ? true : false;

function expandIt(){return}
function expandAll(){return}
function nomsg(){self.status="";}

if(ver4){
isExpanded = false;

function getIndex(el) {
ind = null;
for (i=0; i<document.layers.length; i++) {
whichEl = document.layers[i];
if (whichEl.id == el) {
ind = i;
break;
}
}
return ind;
}
function arrange() {
nextY = document.layers[firstInd].pageY + document.layers[firstInd].document.height;
for (i=firstInd+1; i<document.layers.length; i++) {
whichEl = document.layers[i];
if (whichEl.visibility != "hide") {
whichEl.pageY = nextY;
nextY += whichEl.document.height;
}
}
}


function initIt(){
if (NS4) {
for (i=0; i<document.layers.length; i++) {
whichEl = document.layers[i];
if (whichEl.id.indexOf("Child") != -1) whichEl.visibility = "hide";
}
arrange();
}
else {
tempColl = document.all.tags("DIV");
for (i=0; i<tempColl.length; i++) {
if (tempColl(i).className == "child") tempColl(i).style.display = "none";
}
}
}


function expandIt(el) {
if (!ver4) return;
if (IE4) {expandIE(el)} else {expandNS(el)}
}

function expandIE(el) {
whichEl = eval(el + "Child");
whichIm = event.srcElement;

if (whichEl.style.display == "none") {
whichEl.style.display = "block";
whichIm.src = "images/midminus.gif";
}
else {
whichEl.style.display = "none";
whichIm.src = "images/midplus.gif";
}
}
function expandNS(el) {
whichEl = eval("document." + el + "Child");
whichIm = eval("document." + el + "Parent.document.images['imEx']");
if (whichEl.visibility == "hide") {
whichEl.visibility = "show";
whichIm.src = "images/midminus.gif";
}
else {
whichEl.visibility = "hide";
whichIm.src = "images/midplus.gif";
}
arrange();
}

function showAll() {
for (i=firstInd; i<document.layers.length; i++) {
whichEl = document.layers[i];
whichEl.visibility = "show";
}
}



}
//-->
</SCRIPT>
<body leftmargin="0" topmargin="0" bgcolor="#FFFFFF">
<table border="0" cellspacing="0" cellpadding="0" width="155" height="600">
<tr>
<td height="655" width="154" valign="top" bgcolor="#637fb9">
<div align="center">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td height="46">
<div align="center"><img src="images/sys01.gif" width="154" height="83"></div>
</td>
</tr>
</table>
<br>
<br>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="13%">
</td>
<td width="87%" valign="top"><img src="images/line.gif" width="16" height="16"></td>
</tr>
</table>

<table width="100%" border="0" cellspacing="0" cellpadding="0" id="table1">
<tr bgcolor="#637fb9">
<td height="30" width="36" bgcolor="#637fb9">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="30">
<tr>
<td width="37">
</td>
<td width="10" background="images/line.gif" valign="top"><img src="images/lastblk.gif" width="16" height="16"></td>
</tr>
</table>
</td>
<td height="30" width="118" valign="top"> <a href="syse/syse01.htm" target="mainFrame" onClick="setColor()">
<font color="#FFFF66">人事变动</font></a>
</td>
</tr>

<tr bgcolor="#637fb9">
<td width="36" bgcolor="#637fb9">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="30">
<tr>
<td width="37">
</td>
<td width="10" background="images/line.gif" valign="top"><img src="images/lastblk.gif" width="16" height="16"></td>
</tr>
</table>
</td>

<td width="118" height="30" valign="top"> <a href="syse/syse02.htm" target="mainFrame" onClick="setColor()">
<font color="">人事档案</font></a>
</td>
</tr>

<tr bgcolor="#637fb9">
<td width="36" bgcolor="#637fb9" valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="20">
<tr>
<td width="37" height="20">
</td>
<td width="10" background="images/line.gif" valign="top" height="20"><a href="#" onClick="expandIt('elOne'); return false"><img src="images/midminus.gif" width="16" height="16" border="0"></a></td>
</tr>
</table>
</td>

<td width="118" valign="top"> <a href="#" onClick="setColor()">
<font color="">组织管理</font></a>
</td>
</tr>
</table>

<div ID="elOneChild" CLASS="child" style="margin-left: 0.5px">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="24%">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="50">
<tr>
<td width="20" height="30">
</td>
<td width="17" background="images/line.gif" valign="top" height="30"></td>
</tr>
</table>
</td>
<td width="76%">
<table width="98%" border="0" cellspacing="0" cellpadding="0" align="center" id="table2">
<tr bgcolor="#637fb9">
<td width="18%" background="images/line.gif"><img src="images/lastblk.gif" width="16" height="16"></td>
<td width="82%" height="25"><a href="syse/syse03-1.htm" target="mainFrame" onClick="setColor()">
<font color="">组织框架</font><a></a></a>
</td>
</tr>

<tr bgcolor="#637fb9">
<td width="18%" valign="top"><img src="images/lastblk.gif" width="16" height="16">
</td>
<td width="82%" height="25"><a href="syse/syse03-2.htm" target="mainFrame" onClick="setColor()">
<font color="">公司信息</font><a></a></a>
</td>
</tr>
</table>

</td>
</tr>
</table>
</div>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="14%">
</td>
<td width="86%" valign="top"><img src="images/bj.gif" width="97" height="8"></td>
</tr>
</table>
</div>
</td>
<td width="1" valign="top" background="images/bj04.gif" height="655">
</td>
</tr>
</table>
</body>
<SCRIPT LANGUAGE="JavaScript1.2">
<!--
if(NS4){
firstEl = "elOneParent";
firstInd = getIndex(firstEl);
showAll();
arrange();
}
//-->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">

<!-- hide

function goHist(a)

{

history.go(a);

}

//-->

</SCRIPT>
</html>


以上是笨办法
liuzxit 2002-04-17
  • 打赏
  • 举报
回复
你的代碼真不簡單﹐總算理出一個頭緒﹐看看能否幫你搞定﹐先作個記號吧
qisanyou 2002-04-17
  • 打赏
  • 举报
回复
你的include/Font.css文件的源代码呢?主要是看那个文件怎么写的.
terryxin 2002-04-16
  • 打赏
  • 举报
回复
能给修改一下吗
terryxin 2002-04-16
  • 打赏
  • 举报
回复
那么怎么解决呢
wd_318 2002-04-16
  • 打赏
  • 举报
回复
我看了一下,你的程序只在一个table内扫描各行,而你的主菜单和子菜单不在同一个table里!
terryxin 2002-04-16
  • 打赏
  • 举报
回复
在线等待。请高手帮忙
terryxin 2002-04-16
  • 打赏
  • 举报
回复
高手们,有空闲的吗
terryxin 2002-04-16
  • 打赏
  • 举报
回复
大家帮我看看。一定给分。在线等待。版本们。帮帮忙

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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