html 菜单过渡,JavaScript 二级菜单(含过渡动画)

二级菜单

*{

list-style: none;

text-decoration: none;/*text-align: center;*/}

#my_menu{

width: 65px;/*border: 1px solid black;*/border-radius:5px;

background-color:lightgoldenrodyellow ;

}

span a{

width: 70px;

border: 1px solid black;

border-radius:5px;

color: gray;

}

.collapsed {

height: 20px;

}

#my_menu div{

overflow: hidden;

}

span{

color: white;

background-color: black;

}

span:hover{

background-color: green;

}

li{

padding: 3px 0px;

border-bottom: 1px solid gainsboro;

}

a{

font-size:14px ;

}

a:hover{

color: red;

}

//tools.js 在我的博客里

var menuSpan=document.getElementsByClassName("menuSpan");//定义一个变量来保存当前打开的div

var openDiv=menuSpan[0].parentNode;for(i=0;i

menuSpan[i].οnclick=function(){//alert("Hello");

//获取父元素div

var parDiv=this.parentNode;//-在切换之前,获取元素盖度

var begin=parDiv.offsetHeight;//用tools.js通过切换高度关闭打开div

toggleClass(parDiv,"collapsed");//-在切换之后,获取元素盖度

var end=parDiv.offsetHeight;//console.log("begin:"+begin+",end:"+end);

//-动画效果,就是高度间的过度

parDiv.style.height=begin+"px";//move()构造函数用.style...使用设置的,所有上面要设置一下.style...,不改变格式

move(parDiv,"height",end,10,function(){//动画执行完毕,内联样式没有存在的意义反而会影响class,删除

parDiv.style.height="";

});//来完成打开一个另外打开的关闭

//判断两个不相等,防止同一个div多加一次了class

if(openDiv!=parDiv && !hasClass(openDiv,"collapsed")){//添加class,以关闭div//addClass(openDiv,"collapsed");

//为统一过度动画,toggleClass()

toggleClass(openDiv,"collapsed"); //hasClass()没有才进判断

//,达到addClass()相同效果

}//修改openDiv为当前打开的菜单

openDiv=parDiv;

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值