一个简单常用的javascript菜单效果

这是一个简单的常用的折叠菜单

 <script>    
      var classCount = 4; // 菜单大类的个数  
        function Show(theId) {//参数为菜单的编号,从0开始   
        theTr = eval("tr_" + theId);  //生成相应元素的在页面中的ID  
              //通过此ID来设置相应元素的CSS属性  
              //如果是折叠的,则展开之  
        if (theTr.style.display == "none") {  
            theTr.style.display = "block";  
        }  
              //否则折叠之  
        else {  
            theTr.style.display = "none";  
        }  
              //遍历关闭之前展开的菜单(对当前菜单不做处理)   
        for (i = 0; i < classCount; i++) {  
            if (i == theId)  
                continue;  
            theTr = eval("tr_" + i);  
            theTr.style.display = "none";  
        }  
      }  
    </script> 

<table>
            <tr>
                <td id="td_0" align="middle" width="89%" bgColor=#1f65c2>
                    <a href="javascript:show(0)">基础数据管理</a>
                </td>
            </tr>
            <tr id="tr_0" style="display:none;curson:hand">
                <td align="middle" bgColor="#4c84ce" height="50">
                    <div>基础数据管理</div>
                </td>
            </tr>

            <tr>
                <td id="td_1" align="middle" width="89%" bgColor=#1f65c2>
                    <a href="javascript:show(1)">基础数据管理</a>
                </td>
            </tr>
            <tr id="tr_1" style="display:none;curson:hand">
                <td align="middle" bgColor="#4c84ce" height="50">
                    <div>基础数据管理</div>
                </td>
            </tr>
        </table>

javascript中eval

eval的使用场合是什么呢?有时候我们预先不知道要执行什么语句,只有当条件和参数给时才知道执行什么语句,这时候eval就派上用场了。举个例子:

我们要做一个function(),功能是输入网页中两个个对象的名称,然后程序就将这两个对象的值联接起来输出。

function output(a,b)
{
var tmpa,tmpb;
tmpa=document.all.a.value;
tmpb=document.all.b.value;
document.write(tmpa+tmpb);
}

output('input1','input2');

这样你执行的时候就会提示错误“document.all.a不是对象”以及“document.all.b不是对象”。原来 javascript把a和b当成对象名称了,怎样能让javascript把a里面的值作为对象名称呢?这时候就要用eval了,把代码改成这样:

function output(a,b)
{
var tmpa,tmpb;
tmpa=eval("document.all."+a+".value");
tmpb=eval("document.all."+b+".value");
document.write(tmpa+tmpb);
}

output('input1','input2');

这样javascript就会先取出a,b的值,然后和前面的document.all.以及后面的.value组合运行,于是就可以
顺利取出input1和input2的值,我们的目的达到了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值