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 相关文章推荐
js特殊字符转义介绍
Nov 05 Javascript
原生js结合html5制作简易的双色子游戏
Mar 30 Javascript
浅谈js之字面量、对象字面量的访问、关键字in的用法
Nov 20 Javascript
ES2015 Symbol 一种绝不重复的值
Dec 25 Javascript
详解Vue中使用v-for语句抛出错误的解决方案
May 04 Javascript
浅谈JS中的常用选择器及属性、方法的调用
Jul 28 Javascript
mui上拉加载更多下拉刷新数据的封装过程
Nov 03 Javascript
基于vue中解决v-for使用报红并出现警告的问题
Mar 03 Javascript
Vue2.0实现组件数据的双向绑定问题
Mar 06 Javascript
快速搭建vue2.0+boostrap项目的方法
Apr 09 Javascript
vue和better-scroll实现列表左右联动效果详解
Apr 29 Javascript
JavaScript This指向问题详解
Nov 25 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
《魔兽争霸3:重制版》更新 多项视觉效果调整
2020/05/04 魔兽争霸
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
2011/05/29 PHP
ucenter中词语过滤原理分析
2016/07/13 PHP
自制轻量级仿jQuery.boxy对话框插件代码
2010/10/26 Javascript
JavaScript中判断页面关闭、页面刷新的实现代码
2014/08/27 Javascript
jQuery中animate()方法用法实例
2014/12/24 Javascript
JavaScript生成带有缩进的表格代码
2016/06/15 Javascript
BootStrap iCheck插件全选与获取value值的解决方法
2016/08/24 Javascript
nodejs实例解析(输出hello world)
2017/01/03 NodeJs
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
2017/01/19 Javascript
Vue 进阶教程之v-model详解
2017/05/06 Javascript
Bootstrap fileinput文件上传组件使用详解
2017/06/06 Javascript
用ES6的class模仿Vue写一个双向绑定的示例代码
2018/04/20 Javascript
详解javascript中的变量提升和函数提升
2018/05/24 Javascript
解决angular双向绑定无效果,ng-model不能正常显示的问题
2018/10/02 Javascript
vue使用echarts图表自适应的几种解决方案
2020/12/04 Vue.js
python基础教程之简单入门说明(变量和控制语言使用方法)
2014/03/25 Python
Python标准库之循环器(itertools)介绍
2014/11/25 Python
python获取当前用户的主目录路径方法(推荐)
2017/01/12 Python
Python实现的弹球小游戏示例
2017/08/01 Python
详解Django-auth-ldap 配置方法
2018/12/10 Python
python把1变成01的步骤总结
2019/02/27 Python
python实现屏保程序(适用于背单词)
2019/07/30 Python
在Django中实现添加user到group并查看
2019/11/18 Python
python3连接MySQL8.0的两种方式
2020/02/17 Python
如何将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
2020/04/22 Python
基于打开pycharm有带图片md文件卡死问题的解决
2020/04/24 Python
css3发光搜索表单分享
2014/04/11 HTML / CSS
ProBikeKit新西兰:自行车套件,跑步和铁人三项装备
2017/04/05 全球购物
CK加拿大官网:Calvin Klein加拿大
2020/03/14 全球购物
预备党员思想汇报
2014/01/08 职场文书
学校学习雷锋活动总结
2014/07/03 职场文书
艺术学院毕业生求职信
2014/07/09 职场文书
pytorch中的model=model.to(device)使用说明
2021/05/24 Python
python 爬取京东指定商品评论并进行情感分析
2021/05/27 Python
Linux中Nginx的防盗链和优化的实现代码
2021/06/20 Servers