请JavaScript高手来帮我看看这个网页的JS脚本是怎么实现的?

http://www.27813000.com/hongfeng/products.asp?bid=2&id=5

这个网页的侧边导航条的脚本代码是:
<script>
var open1=0;
open1=2;
function display(i){
document.all('c'+i).style.display=(document.all('c'+i).style.display =='none')?'':'none';
document.all('c'+i).style.display =='none'?document.all('pic'+i).className="a":document.all('pic'+i).className="hf_t"
if(i!=open1){
document.all('c'+open1).style.display='none';
document.all('pic'+open1).className="a"
}
open1=i;
}
</script>

请问这段代码是什么意思? 其中 第二句open1=2;这个参数的值是会随着打开的页面不同而不同,请问怎么实现的?请高手回答下!或者有什么其他方法能实现这种导航效果的也可以告诉我下。谢谢!
谁能做一个类似的导航菜单,我另外追加100分。
一级:工业电器
二级:交流接触器
二级:小型断路器

一级:建筑电器
二级:墙壁开关
二级:电源插座

一级:通讯电子
二级:微电机
二级:轻触开关

菜单格式如上,另外加上连接,没个页面做的简单,菜单也不需要美化。但是要有隐藏和显示的效果。做好的发到我邮箱,[email protected] ,可以的话,立刻追加100分,决不食言!谢谢!

<a onClick="javascript:display(1);" id="pic1" style="CURSOR: hand;" >电接触材料</a>
<a onClick="javascript:display(2);" id="pic2" style="CURSOR: hand;" >复合材料</a>
<a onClick="javascript:display(3);" id="pic3" style="CURSOR: hand;" >焊料</a>
这3个a调用display(i)方法,根据i值和调用方的id值去显示或者隐藏父类。open1会变,是因为这里open1=i;重新赋值。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-15
很负责任的告诉你,这是个垃圾代码
var open1=0;
open1=2;
垃圾
定一个open1=0;
再赋值 open1=2; 闲得
document.all 只有IE支持 火狐不支持

('c'+i).
('c'+open1).
open1=i;
已经把i赋给了open1 上面这两个有什么不同呢??
楼主别研究这个代码了,垃圾,浪费你的时间
第2个回答  2011-09-15
open1=2; 这个是程序写上去的。
网站是asp写的,看下这个页面的代码就知道了。
至于效果,effect.js 也有提供 你参考下
第3个回答  2011-09-15
open1=2中的这个2不是用js实现的。而是由系统后台计算的。比如用php算出当前页面应该使用的值,比如,用$a=2;来代表这个值。那在页面上可以写open1=<?=$a?> .这样,由于$a的值的解析是在服务器端完成的。所以我们客户端是看不到的。而只能看到$a的最终值是2,所以就有了open1=2;
第4个回答  2011-09-16
<script>
var open1=0;//定义open1变量;
open1=2;//变量赋值2
function display(i){//i变量为入参,比如页面菜单上按菜单分好序号,看代码应该是c1,c2,c3等等。
document.all('c'+i).style.display=(document.all('c'+i).style.display =='none')?'':'none';//例c1,如果c1是隐藏的,则显示,如果是显示的,则隐藏
document.all('c'+i).style.display =='none'?document.all('pic'+i).className="a":document.all('pic'+i).className="hf_t"
//如果是隐藏的,则css样式为a,如果显示的,则css样式为hf_t
if(i!=open1){如果i不等于open1(一开始赋值为2是因为,默认是1,第一个菜单)
不是当前菜单,则隐藏,把css替换为a
document.all('c'+open1).style.display='none';
document.all('pic'+open1).className="a"
}
open1=i;//然后重新给open1赋值,表示open1为当前点击菜单
}
</script>

加了注释,希望对你有帮助,不过如395261209所言,这并不是段好代码
第5个回答  2011-09-15
控制ID的显示与隐藏并改变Css。open1保存的是当前显示的层也就是菜单。传i为将显示的层
相似回答