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 相关文章推荐
prototype 源码中文说明之 prototype.js
Sep 22 Javascript
Apply an AutoFormat to an Excel Spreadsheet
Jun 12 Javascript
使用jquery为table动态添加行的实现代码
Mar 30 Javascript
js调用后台servlet方法实例
Jun 09 Javascript
javascript中直接引用Microsoft的COM生成Word
Jan 20 Javascript
JavaScript代码性能优化总结篇
May 15 Javascript
JS组件Bootstrap实现图片轮播效果
May 16 Javascript
基于Bootstrap的Metronic框架实现条码和二维码的生成及打印处理操作
Aug 29 Javascript
在vue中使用SockJS实现webSocket通信的过程
Aug 29 Javascript
JavaScript设计模式之责任链模式实例分析
Jan 16 Javascript
一次让你了解全部JavaScript的作用域
Jun 24 Javascript
原生js实现商品筛选功能
Oct 28 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+MySql编写聊天室
2006/10/09 PHP
PHP DataGrid 实现代码
2009/08/12 PHP
PHP获取当前所在目录位置的方法
2014/11/26 PHP
JavaScript的parseInt 进制问题
2009/05/07 Javascript
XMLHTTPRequest的属性和方法简介
2010/11/23 Javascript
javascript写的简单的计算器,内容很多,方法实用,推荐
2011/12/29 Javascript
javascript 事件处理程序介绍
2012/06/27 Javascript
Extjs中ComboBoxTree实现的下拉框树效果(自写)
2013/05/28 Javascript
JavaScript Promise启示录
2014/08/12 Javascript
angular实现商品筛选功能
2017/02/01 Javascript
原生JS轮播图插件
2017/02/09 Javascript
微信小程序实战之上拉(分页加载)效果(2)
2017/04/17 Javascript
Bootstrap里的文件分别代表什么意思及其引用方法
2017/05/01 Javascript
AngularJS 控制器 controller的详解
2017/10/17 Javascript
详解HTML5 使用video标签实现选择摄像头功能
2017/10/25 Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
2018/04/03 Javascript
vue todo-list组件发布到npm上的方法
2018/04/04 Javascript
vue展示dicom文件医疗系统的实现代码
2018/08/27 Javascript
微信小程序实现文字无限轮播效果
2018/12/28 Javascript
JavaScript中的this妙用实例分析
2020/05/09 Javascript
Nuxt.js nuxt-link与router-link的区别说明
2020/11/06 Javascript
python批量修改文件后缀示例代码分享
2013/12/24 Python
python基于urllib实现按照百度音乐分类下载mp3的方法
2015/05/25 Python
Python爬虫获取图片并下载保存至本地的实例
2018/06/01 Python
详解Appium+Python之生成html测试报告
2019/01/04 Python
python linecache 处理固定格式文本数据的方法
2019/01/08 Python
Python Image模块基本图像处理操作小结
2019/04/13 Python
C语言笔试题回忆
2015/04/02 面试题
Internet主要有哪些网络群组成
2015/12/24 面试题
学院书画协会部门职责
2013/11/28 职场文书
个人股份合作协议书
2014/10/24 职场文书
先进员工事迹材料
2014/12/20 职场文书
2015年国庆节标语大全
2015/07/30 职场文书
优秀党员主要事迹材料
2015/11/04 职场文书
导游词之澳门玫瑰圣母堂
2019/12/03 职场文书
Mysql超详细讲解死锁问题的理解
2022/04/01 MySQL