当前位置:首页 > 日记 > 正文

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

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

在前端开发中用的较多的是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()的使用)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

相关文章

word论文排版技巧

word论文排版技巧

论文排版,技巧,电脑软件,word,又是一年毕业季,想必最让人头疼的就是论文的事情了吧?毕业论文最基本的一点就是要格式符合要求,今天给大家总结了Word论文排版九大技巧。1、用好样式编写论文,一定要使用样式,除了Word原先所提供的标题、正文等样…

PS图象处理软件是如何使一个立体效

PS图象处理软件是如何使一个立体效

图象,处理软件,海报,效果,电脑软件,很多人用PS来设计海报。用PS制作海报方便快捷,省去了很多麻烦。今天的教程结果主要由三维文字和装饰部分组成,立体字基本上是用一个简单的3D工具完成的,然后颜色和纹理需要调整,装饰部分需要慢慢收集相关材料…

解决WIN2003服务器上传文件大小限

解决WIN2003服务器上传文件大小限

服务器,文件大小,上传,电脑软件,Windows2003系统下,上传较大的文件时,出现“Request 对象 错误 'ASP 0104 : 80004005'”错误。更改win2003的IIS 6.0对asp的上传文件大小为200k限制,aspx的上传程序没有影响。在IIS6.0中,默认设置是…

用javascript获取任意颜色的更亮或

用javascript获取任意颜色的更亮或

示例代码,颜色值,颜色,电脑软件,javascript,前言本文主要给大家介绍的是关于利用javascript获取任意颜色更亮或更暗颜色值的相关内容,下面话不多说,来一起看看详细的介绍:预处理CSS,比如Sass和less可以通过设定一个特定值,让任何颜色变得更亮或…

如何将EXCEL表格的内容导入到Corel

如何将EXCEL表格的内容导入到Corel

如何将,表格,导入到,内容,电脑软件,CorelDRAW中能做表格?答案是肯定的,而且方法不止一种,之前的教程中我们就介绍了两种方法:利用图纸工具或者表格工具。现在教大家一个更快捷、简单的方法,将Excel表格直接导入到CDR软件,立刻完成你的表格绘制,而…

ps怎么制作格子背景

ps怎么制作格子背景

格子,背景,电脑软件,ps,   今天小编分享的这篇教程是入门学习者们使用PS简单快速制作格子信纸,教程制作出来的信纸挺可爱的,推荐一下和朋友们一起分享学习了,我们先来看看最终的效果图吧:ps怎么制作格子背景效果5)(在图案上放上自…

PS制作角色扮演按钮

PS制作角色扮演按钮

角色扮演,按钮,电脑软件,PS,用ps软件制作的一个个性按钮的播放方法,教程真的很好,值得学习,一起学习吧! 方法/步骤 创建一个圆角矩形的透明矩形画布,并设置参数。 画面中的选择形式 设置选择表单的参数 建立新的圆形图形,并为其参数设置右键。…

Excel将文本转换为数字的方法是什

Excel将文本转换为数字的方法是什

方法,文本,数字,转换为,四种,  当导入在另一程序中创建的文件或导入从大型机下载的文件时,Excel 2003 可能会将其中的某些数字识别为文本。以下是小编为您带来的关于Excel将文本转换为数字的四种方法,希望对您有所帮助。Excel将文本转换为…

详细MySQL导出表中数据的示例

详细MySQL导出表中数据的示例

数据,导出表,示例,详细,电脑软件,MySQL的详细解释以导出指定表中的数据 要求uff1a 1。不要导出创建表的语句,因为表已经构建:默认将被导出,第一个下拉表,然后创建表; 2。导出INSERT语句,加上忽略,允许重复执行:默认情况下不会添加忽略; 3。INSERT…

Outlook 2010如何撤回已发送邮件

Outlook 2010如何撤回已发送邮件

发送邮件,撤回,电脑软件,Outlook,对于工作中需要频繁使用邮件传递信息的朋友们,很多时候难免会发错收件人,或者发出去的邮件可能不太完善需要修改,在收件人没有阅读时我们通过什么方式撤回已经发送的邮件呢?下面给大家介绍详细操作方法。第一…

php双层循环 | 九九乘法表

php双层循环 | 九九乘法表

九九乘法表,循环,电脑软件,php,实例如下:<?php  echo "<table width = 800 height = 200 border = 1>"; //输出边框  for($i=1;$i<=9;$i++) //控制每行  {    echo "<tr>"; //输出一行  for($j=1…