扫码关注官方订阅号
在使用jquery制作二级下拉菜单的时候,鼠标滑过就可以正常显示,,但是在鼠标多次划过的时候,就出现了二级菜单不断地显示隐藏,,反复多次。。请问怎样才可以鼠标滑出时二级菜单收回后,就不再显示了呢?源代码如下:
首页 内容1 内容2 内容3 首页 内容1 内容2 内容3 首页 内容1 内容2 内容3 首页 内容1 内容2 内容3
欢迎选择我的课程,让我们一起见证您的进步~~
其实不推荐用.slideDown()和.slideUp(),用css3实现更好- -特别是手机上。但是楼主一定要这么搞的话楼主的主要问题是:sliderDown和sliderUp都是动画,鼠标每次经过就添加一个动画队列,当鼠标无数次经过。。。就要等动画全部播放完。。就看见下拉菜单不停伸缩是这样吧?
$(this).children("ul").stop(true,false).slideDown(200);
改这样就行了- -防止动画没播放完持续播放
添加一个公共变量作为开关,防止短时间重复触发。展开时设置为true,收起时设置为false,设置一个timeout等收起完成后再将开关设置为false,这样重复划过就不会重复触发了。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
其实不推荐用.slideDown()和.slideUp(),用css3实现更好- -特别是手机上。
但是楼主一定要这么搞的话
楼主的主要问题是:sliderDown和sliderUp都是动画,鼠标每次经过就添加一个动画队列,当鼠标无数次经过。。。就要等动画全部播放完。。就看见下拉菜单不停伸缩是这样吧?
改这样就行了- -防止动画没播放完持续播放
添加一个公共变量作为开关,防止短时间重复触发。
展开时设置为true,收起时设置为false,设置一个timeout等收起完成后再将开关设置为false,这样重复划过就不会重复触发了。