帮我解释下js代码,分数你随便要,我给加,这是底薪

来源:百度知道 编辑:UC知道 时间:2024/06/30 01:00:51
最好是每句都做详细,通俗的注释,然后附加要的分数
<script language='javascript'>
<!--
stat=new Array();
function changeMain(id){
objParent=document.getElementById(id);
objDaughter=document.getElementById('iDMain'+id);
if (stat[id]!=1)
{
stat[id]=1;
objDaughter.style.display='block';
}

else {if(stat[id]==1){
stat[id]=0;
objDaughter.style.display='none';
}
}
}
//-->
</script>

<div><a href="javascript:changeMain(1)">网站论坛</a></div>
<div id="iDMain1" style="display: none">
|_音乐娱乐<br>
|_影视快讯<br>
</div>
<div><a href="javascript:changeMain(2)">网站新闻</a></div>
<div id="iDMain2" style="display: none">
|_新闻1<br>
|_新闻2<br>
</div>
至少解释下js

跟你说下吧.里面的两个div标签,是用来显示子菜单的.用js+css来控件它的显示.
在css中display:none表示把div从视图上消失,而display:block则使用div原样显示.用这两个来实现隐藏来弹出子菜单的功能.对于js代码部分,主要是通过document.getElementById('id值')来获取控件(也叫元素或标签).
你的函数:function changeMain(id);有一个形参.它是用来传递一个参数的.用来区分不同的div对象.因为你的名字是iDMain后面加个数字.而你在控件某个div时,调用的函数就是向函数传递这个数字.用'iDMain'+id这个就可以表示了具体的div了.然后使用objDaughter.style.display=''来改来css的样式.

如果满意的话,请给一千

控制id="iDMain1"等元素的JS,用stat数组保存显示状态,
代码写得太烂了,建议改成如下形式:

<script language='javascript'>
<!--
function changeMain(id)
{
   o=document.getElementById('iDMain'+id).style;o.display=o.display=='block'?'none':'block';
}
//-->
</script>

太难了