我首先尝试在.toggle()
此代码中添加一个,以便菜单会在单击时设置动画,但也会在单击时关闭,然后意识到我不能很好地使用它,.animate
所以.toggle()
我正在尝试.click()
如果有一种方法可以通过单击替换我的mouseenter
和mouseleave
功能,那就是我正在寻找的。
我已经搜索过,但找不到任何使用动画菜单完成的地方,所以这里是该函数的 javascript:
$('#sdt_menu > li').bind('mouseenter',function(){
var $elem = $(this);
$elem.find('img')
.stop(true)
.animate({
border: '5px solid #000',
'width':'150px',
'height':'170px',
'left':'0px'
},400,'easeOutBack')
.andSelf()
.find('.sdt_wrap')
.stop(true)
.animate({'top':'140px'},500,'easeOutBack')
.andSelf()
.find('.sdt_active')
.stop(true)
.animate({'height':'170px'},300,function(){
var $sub_menu = $elem.find('.sdt_box');
if($sub_menu.length){
var left = '170px';
if($elem.parent().children().length == $elem.index()+1)
left = '-170px';
$sub_menu.show().animate({'left':left},200);
}
});
}).bind('mouseleave',function(){
var $elem = $(this);
var $sub_menu = $elem.find('.sdt_box');
if($sub_menu.length)
$sub_menu.hide().css('left','0px');
$elem.find('.sdt_active')
.stop(true)
.animate({'height':'0px'},300)
.andSelf().find('img')
.stop(true)
.animate({
border: "2px solid #FFFFFF",
'width':'150px',
'height':'150px',
'left':'0px'},400)
.andSelf()
.find('.sdt_wrap')
.stop(true)
.animate({'top':'25px'},500);
});