急需:一段可以隐藏除了我想显示的层以外所有层的JS代码

王朝知道·作者佚名  2012-07-05
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 互聯網
 
問題描述:

急需:一段可以隐藏除了我想显示的层以外所有层的JS代码,例如:我想做一个有30多个链接的省市联系名片,只想在一个页面内实现,在切换链接时,只显示我需要的省市联系名片,其他的都不显示。QQ:***********。高手请帮忙

/*

========================

函数:显示或隐藏层

showDiv(divId_array,showLocality_array)

参数说明:

divId_array 所有要操作的层ID,用逗号分隔

showLocality_array 所有要显示的层在参数DivIdArray所对应的位置。为“0”或空时全部显示,设为负数则全部隐藏。

例如:showDiv('div3,div1,div2','2,3')为显示第二个(div1)和第三个层(div2),第一个层(div3)将被隐藏。

========================

*/

function showDiv(divId_array,showLocality_array)

{

var div_array = new Array();

var locality_array = new Array();

var intLocality;//showLocality_array数组长度

var intDiv;//div_array 数组长度

var intTemp = 1;//临时变量

var intTmp = 1;//临时变量

//初始化

if (divId_array)

{

div_array = divId_array.split(",");

}else{

intDiv = 0;

}

if (showLocality_array)

{

locality_array = showLocality_array.split(",");

intLocality = locality_array.length;

for (var n = 0;n < intLocality;n++)

{

intTemp *= locality_array[n];

}

if (intTemp <= 0)

{

intLocality = intTemp;

}else{

intLocality = div_array.length;

while (intLocality > 0)

{

intLocality -= 1;

document.getElementById(""+ div_array[intLocality] +"").style.display = "none";

}

intLocality = 1;

}

}else{

intLocality = 0;

}

//显示指定层

if (intDiv != 0 && intLocality >0)

{

intDiv = div_array.length;

intLocality = locality_array.length;

//排序locality_array 数组

for (var n = 0;n < intLocality;n++)

{

intTemp = locality_array[n];

for (var m = n + 1;m < intLocality;m++)

{

if (locality_array[n] > locality_array[m])

{

locality_array[n] = locality_array[m];

locality_array[m] = intTemp;

intTemp = locality_array[n];

}

}

}

intLocality = locality_array.length;

intTemp = 0;

//

while (intTemp < intLocality)

{

if ((locality_array[intTemp] - 1) < div_array.length)

{

intTmp = locality_array[intTemp] - 1;

document.getElementById(""+ div_array[intTmp] +"").style.display = "block";

}

intTemp += 1;

}

}

else if(intLocality == 0)

{//显示所有层

intLocality = div_array.length;

while (intLocality > 0)

{

intLocality -= 1;

document.getElementById(""+ div_array[intLocality] +"").style.display = "block";

}

}else{//隐藏所有层

intLocality = div_array.length;

while (intLocality > 0)

{

intLocality -= 1;

document.getElementById(""+ div_array[intLocality] +"").style.display = "none";

}

}

}

这段代码我应该如何应用的页面中,是否用,或者有没其他代码。不想用DW自带的显示/隐藏层的功能。

參考答案:

你把层写成多线程模式

比如 DIV1。。。。DIV2。。。DIV3

然后做个FOR循环,把DIV[X]的display设置为none

不就可以了吗

如果想显示只要把X提交到函数就可以了

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航