jquery hover 不停闪动问题的解决方法(亦为stop()的使用)


Posted in Javascript onFebruary 10, 2017

在前端开发中用的较多的是jquery,之前遇到一个问题,一个下拉的jquery下拉菜单效果,hover上去,一直闪动,用mouseovermouseout好好的,当时没搞定,今天逛论坛看到一个方法,可以行.只怪自己之前看jquery api的时候不是很仔细。

解决闪动 可以使用Stop()

stop([clearQueue],[jumpToEnd])

概述

停止所有在指定元素上正在运行的动画。

如果队列中有等待执行的动画(并且clearQueue没有设为true),他们将被马上执行

参数

[clearQueue],[gotoEnd] Boolean,BooleanV1.2clearQueue:如果设置成true,则清空队列。可以立即结束动画。

gotoEnd: 让当前正在执行的动画立即完成,并且重设show和hide的原始样式,调用回调函数等。

[queue],[clearQueue],[jumpToEnd]BooleanV1.7queue:用来停止动画的队列名称

clearQueue: 如果设置成true,则清空队列。可以立即结束动画。

jumpToEnd: 如果设置成true,则完成队列。可以立即完成动画。

当鼠标移上去的时候就菜单下拉,当鼠标离开的时候菜单上卷,下拉和上卷的动画时间都是5秒种。

$("#menu").hover( 
    function () { 
      $("#menu").animate({ height: "500" }, 5000); 
    }, 
    function () { 
      $("#menu").animate({ height: "100" }, 5000); 
    } 
);

如果我快速不断地将鼠标移入移出菜单(即,当菜单下拉动画未完成时,鼠标又移出了菜单)就会产生“动画积累”,当鼠标停止移动后,积累的动画还会持续执行,直到动画序列执行完毕。这样导致动画效果与鼠标动作不一致。

要解决此问题只需要在移入移出动画之前加入stop(),结束当前动画进入下个动画即可。

代码如下:

$("#menu").hover( 
    function () { 
      $("#menu").stop().animate({ height: "500" }, 5000); 
    }, 
    function () { 
      $("#menu").stop().animate({ height: "100" }, 5000); 
    } 
);

如果需到组合动画,在移入移出动画之前加入stop()来停止当前动画,如下

$("#menu").hover( 
    function () { 
      $("#menu").stop().animate({ height: "500" }, 5000).animate({ width: "500px" }, 3000); 
    }, 
    function () { 
      $("#menu").stop().animate({ height: "100" }, 5000).animate({ width: "100px" },3000); 
    } 
);

效果并不好,因为stop()只是停止了当前第一步的动画(即{height:”500″}),然后又进入了第二步的动画(即[width:”500″})。

此时stop()的第一个参数就派上了用场,它会把下面没有执行的动画序列都清空掉。

$("#menu").hover( 
    function () { 
      $("#menu").stop(true).animate({ height: "500" }, 5000).animate({ width: "500px" }, 5000); 
    }, 
    function () { 
      $("#menu").stop(true).animate({ height: "100" }, 5000).animate({ width: "100px" },5000); 
    } 
);

当然也可以使用第二个参数,让动画达到最后状态。如:stop(false,true)

以上这篇jquery hover 不停闪动问题的解决方法(亦为stop()的使用)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery的自定义事件代码,触发,绑定简单实例
Aug 01 Javascript
jQuery中queue()方法用法实例
Dec 29 Javascript
jQuery EasyUI 布局之动态添加tabs标签页
Nov 18 Javascript
基于jQuery实现简单的折叠菜单效果
Nov 23 Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
Mar 05 Javascript
自动化测试读写64位操作系统的注册表
Aug 15 Javascript
相册展示PhotoSwipe.js插件实现
Aug 25 Javascript
Javascript(es2016) import和require用法和区别详解
Aug 11 Javascript
vue在使用ECharts时的异步更新和数据加载详解
Nov 22 Javascript
jquery分页优化操作实例分析
Aug 23 jQuery
分享一款超好用的JavaScript 打包压缩工具
Apr 26 Javascript
AudioContext 实现音频可视化(web技术分享)
Feb 24 Javascript
JS验证不重复验证码
Feb 10 #Javascript
使用jquery给新生的th绑定hover事件的实例
Feb 10 #Javascript
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
Feb 10 #Javascript
jQuery移除或禁用html元素点击事件常用方法小结
Feb 10 #Javascript
jQuery基于Ajax方式提交表单功能示例
Feb 10 #Javascript
Bootstrap轮播图学习使用
Feb 10 #Javascript
微信小程序模板之分页滑动栏
Feb 10 #Javascript
You might like
PHP实现获取并生成数据库字典的方法
2016/05/04 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
jquery做的一个简单的屏幕锁定提示框
2014/03/26 Javascript
jQuery制作简洁的多级联动Select下拉框
2014/12/23 Javascript
jQuery中change事件用法实例
2014/12/26 Javascript
js强制把网址设为默认首页
2015/09/29 Javascript
JS+CSS实现的蓝色table选项卡效果
2015/10/08 Javascript
jQuery插件imgPreviewQs实现上传图片预览
2016/01/15 Javascript
JS自定义混合Mixin函数示例
2016/11/26 Javascript
微信小程序 实战程序简易新闻的制作
2017/01/09 Javascript
基于javascript实现数字英文验证码
2017/01/25 Javascript
React Native预设占位placeholder的使用
2017/09/28 Javascript
微信小程序 textarea 层级过高问题简单解决方案
2019/10/14 Javascript
python实现巡检系统(solaris)示例
2014/04/02 Python
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
Django数据库类库MySQLdb使用详解
2019/04/28 Python
通过字符串导入 Python 模块的方法详解
2019/10/27 Python
基于python-pptx库中文文档及使用详解
2020/02/14 Python
Python特殊属性property原理及使用方法解析
2020/10/09 Python
html5 自定义播放器核心代码
2013/12/20 HTML / CSS
意大利综合购物网站:Giordano Shop
2016/10/21 全球购物
UGG澳洲官网:UGG Australia
2018/04/26 全球购物
Vero Moda西班牙官方购物网站:丹麦BESTSELLER旗下知名女装品牌
2018/04/27 全球购物
英国领先的运动物理治疗供应公司:Vivomed
2018/07/14 全球购物
印尼在线购买隐形眼镜网站:Lensza.co.id
2019/04/27 全球购物
Interrail法国:乘火车探索欧洲,最受欢迎的欧洲铁路通票
2019/08/27 全球购物
LINUX下线程,GDI类的解释
2016/12/14 面试题
高校教师思想汇报
2014/01/11 职场文书
明星员工获奖感言
2014/08/14 职场文书
开展党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
12.4全国法制宣传日活动总结
2014/11/01 职场文书
检讨书模板
2015/01/29 职场文书
认识实习感想
2015/08/10 职场文书
详解Java实践之适配器模式
2021/06/18 Java/Android
php修改word的实例方法
2021/11/17 PHP
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python