js工作随记关于下拉菜单2014.3.27

发现一个问题就是例如

οnmοuseοver="openA('ren1')"   其中obj就是代表了这个ren1

在function openA(obj)就可以出发这个函数如果 ' 换成了 " 就不可以了

下面是下拉菜单的纯js代码附带代码执行顺序

                    var cname=0;声明变量cname
                var closetime=0;声明变量cname
          function openA(obj)当鼠标移动到标签时候触发openA
    {
     openB();当openA函数执行时候执行自定义函数openB,这个时候openB由于closetime=0没有作用运行下一条
     if(cname)因为cname也是0所以运行下一条
     {
      cname.style.display="none";
     }
     cname=document.getElementById(obj);这个就是获取需要显示下拉菜单的id
     cname.style.display="block";     使其id的css重的display属性由none变为bock,这个时候下拉菜单显示出来了,当鼠标  

     }                                              离开openA所在的div层时候触发closeA
     function closeA()
{
closetime=window.setTimeout(closet,500); 设定一个延迟是半秒关闭执行下面一个函数运算
}

 function closet()
{

if(cname)这个时候cname是不为0的于是让其隐藏
{
cname.style.display="none";
}
}
    

 function openB()当鼠标移动到openA刚触发显示的下拉菜单时候
{
if(closetime)这个closetime变量是!=0的执行下面的函数,而它=0的意义就是如果鼠标只是主菜单经过下拉列表还是会隐藏而不是给隐藏功能清零只有单鼠标放到下拉列表时候才能够让closetime!=0;
{
window.clearTimeout(closetime);这句话是清除closetime函数的延迟关闭这个时候function closet()将不在运行下拉菜单不关闭
closetime=null; 给closetime内容清空
}

 }    
    document.onclick = closeit;  这句话可写可不写意思就是点击时候关闭下拉菜单

这就是下拉列表的运行原理

转载于:https://my.oschina.net/u/1470765/blog/213297

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值