在使用jquery制作二级下拉菜单的时候,鼠标滑过就可以正常显示,,但是在鼠标多次划过的时候,就出现了二级菜单不断地显示隐藏,,反复多次。。请问怎样才可以鼠标滑出时二级菜单收回后,就不再显示了呢?
源代码如下:
添加一个公共变量作为开关,防止短时间重复触发。
展开时设置为true,收起时设置为false,设置一个timeout等收起完成后再将开关设置为false,这样重复划过就不会重复触发了。
其实不推荐用.slideDown()和.slideUp(),用css3实现更好- -特别是手机上。
但是楼主一定要这么搞的话
楼主的主要问题是:sliderDown和sliderUp都是动画,鼠标每次经过就添加一个动画队列,当鼠标无数次经过。。。就要等动画全部播放完。。就看见下拉菜单不停伸缩是这样吧?
$(this).children("ul").stop(true,false).slideDown(200);
改这样就行了- -防止动画没播放完持续播放