博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于Jquery动画滞后问题(转)
阅读量:6766 次
发布时间:2019-06-26

本文共 832 字,大约阅读时间需要 2 分钟。

jQuery中slideUp 、slideDown、animate等动画运用时,如果目标元素是被外部事件驱动, 当鼠标快速地连续触发外部元素事件, 动画会滞后的反复执行,其表现不雅。非常影响使用体验。

之前在开发中也遇到过这样的问题。没有记录的习惯,导致时隔很久忘了这个常见bug的解决办法。现在找到了必须记录下来。

bug效果图:

原始代码:

$(function(){            $(".box").hover(                function(){                    $("ul").slideDown(300);                },                function(){                    $("ul").slideUp(300);                }            );        });

解决思路:

在触发元素的事件时预先停止所有的动画,再执行相应的动画事件(使用stop函数)。

解决后代码:

$(function(){            $(".box").hover(                function(){                    $("ul").stop().slideDown(300);                },                function(){                    $("ul").stop().slideUp(300);                }            );        });

用jquery的链式调用,在元素执行动画前就清掉所有动画效果。

解决后效果图:

无论触发多少次,都只会执行一次动画。

 

转载于:https://www.cnblogs.com/MirageFox/p/5940440.html

你可能感兴趣的文章
常见问题备忘
查看>>
#51CTO学院四周年# 又一年的碎碎念,感谢现在奋斗的自己
查看>>
vi tips
查看>>
程序书籍推荐
查看>>
救援模式修复bootloader
查看>>
公告:文字/图片滑动显示功能Scrollamount和scrolldela
查看>>
coreData
查看>>
Android开机logo
查看>>
Veeam Backup & Replication(三):创建备份与还原备份
查看>>
配置 失败 的 lamp 过程
查看>>
Exchange Server 2010系列之一:了解Exchange角色
查看>>
Exchange Server2010系列之四:初谈邮箱基本管理
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
sql server 2008以上数据库 收缩事务日志
查看>>
Exchange 2013服务器常用的性能监视器
查看>>
详解linux运维工程师入门级必备技能
查看>>
创建pacemaker+corosync集群
查看>>
Xshell使用密钥认证机制远程登录Linux
查看>>
PHP重命名和移动目录
查看>>