如果你的浏览器支持 CSS3,为什么不让 CSS 通过切换一个特定的类来做动画呢?
这真的很容易,而且是更好的选择。
看看这个FIDDLE。
我在您的代码中所做的所有更改是:
jQuery(document).ready(function($
$('ul li').click(function() {
var li = $(this).closest('li');
if(li.has('ul'))
li.find('ul').toggleClass('open'); // <- this line!
});
});
现在,您可能已经猜到open
该类打开了子菜单。由于这个简短的 css 片段,它正在下滑:
ul li > ul {
max-height: 0;
transition: all 1s;
}
ul li > ul.open {
max-height: 140px;
}
而且它真的很容易修改!为了好玩,假设您想在子菜单中缩放-淡入-滑动?这太容易了,即使是我的祖母也能做到(只需一点 stackoverflow 搜索)!
检查一下FIDDLE。
现在,如果您想使用它,您可能需要在 CSS3 属性中包含所有必要-ms-
的-o-
、-moz-
和前缀。-webkit-