关于JS的代码 什么意思 详细讲一下 谢谢 高手!

<SCRIPT language=JavaScript>
function showsubmenu(sid) //
{
whichEl = eval("submenu" + sid); //
if (whichEl.style.display == "none") //
{
eval("submenu" + sid + ".style.display=\"\";"); //
}
else
{
eval("submenu" + sid + ".style.display=\"none\";"); //
}
}
</SCRIPT>什么意思 详细讲一下 谢谢 高手!

function showsubmenu(sid) //比如sid=1
{
whichEl = eval("submenu" + sid); //whichEl=submenu1(ie可以直接这样获取id是submenu1的节点,其他浏览器不兼容所以【whichEl = document.getElementById("submenu" + sid);】更好一些,如果获取的是之前的一个对象那么就用当前的是正确的)
if (whichEl.style.display == "none") //如果该对象是隐藏的
{
eval("submenu" + sid + ".style.display=\"\";"); //就把该对象css样式display的值设置为空
}
else
{
eval("submenu" + sid + ".style.display=\"none\";"); // 否则把该对象隐藏
}
}

就是传过来一个sid然后把sid是'submenu'+sid的dom节点显示的变为隐藏,隐藏的给显示出来
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-28
function showsubmenu(sid) //定义方法。作用显示/隐藏菜单栏
{
whichEl = eval("submenu" + sid); //获取菜单元素。eval(): 执行字符串。详细请网上查资料
if (whichEl.style.display == "none") //检查 whichEl(此时的类型是object )的 display 属性的值如果==“none”,
{
eval("submenu" + sid + ".style.display=\"\";"); // 执行 display=''的字符串
}
else
{
eval("submenu" + sid + ".style.display=\"none\";"); // 否则 display=‘none’
}
}
注释了大概的意思。
建议先理解 eval() 的作用,这段代码就明白了。
相似回答