jQuery停止动画和判断是否处于动画状态

1、停止元素的动画

stop([clearQueue][,gotoEnd]);

参数clearQHCHC和gotoEnd都足町选的参数,为Boolean值(ture或flase)。clearQueue代表足胥婴清空术执{j.完的动嘶队列,90toEnd代表是否直接将萨在执行的动画跳转到术状态。

如粜商接使川stop()方法.!【!IJ会。一即停.l卜专前一在进行的动画,如.粜接下来还有动画等待继续进行.呲0以当前状态J
r始接下柬的动画。经常会遇到这种情况.在为。’个元索绑定hover事件之后.Jf】户把光标移入元素时会触发动画效粜,而当这个动画还没结束时,用户
就将光标移出这个元素了,J且j么光标移出的动画效粜将会被放进队列之中,等待光标移入的动画结束后再执行。I蚓此如粜光标移入移出搿过快就会导致动画效
粜.b光标的动作不一1致。此时只要神:光标的移入、移出动越之前加入stop()力‘法,就能解决这个问题。stop()方法会结束当前j下在进行的动
l画,并立即执行队列中个动画。以下代码就可以解决刚才的问题。

2.判断元素是否处于动画状态
   
在使用animate()方法的时候,要避免动画积累而导致的动画与用户的行为不一致。当用户快速在某个元素L执行animate()动画时,就会出现动
画积累。解决方法足判断元素是否正处于动画状态,如果元素不处于动画状态,才为元素添加新的动画,否则不添加。代码如下:

if($(element).is(":animated")){   
//判断元素是否正处于动画状态

//如果当前没有进行动画,则添加新动画

}

这个判断方法在animate()动画中经常被用到,需要特别注意。

时间: 2024-08-24 00:08:21

jQuery停止动画和判断是否处于动画状态的相关文章

锋利的jQuery-4--停止动画和判断是否处于动画状态(防止动画加入队列过多的办法)

1.停止元素的动画:stop([cleanQueue, gotoEnd]):第一个参数代表是否要清空未执行完的动画队列,第二个参数代表是否直接将正在执行的动画跳转到末状态. 无参数stop():立即停止当前的动画,如果接下来还有动画则以当前状态开始接下来的动画. 举例:为元素绑定hover事件之后,如果光标移入移出的速度太快,导致移入的动画还没执行完,就移出光标,则移出的动画效果就会被放到队列,等移入的动画完成后在执行.因此如果光标的移入移出速度太快,就会导致动画效果与移动光标不一致的情况. 此

jQuery如何停止元素的animate动画,还有怎样判断是否处于动画状态?【转】

停止元素的动画方法:stop() 语法结构:stop([clearQueue],[gotoEnd]) clearQueue 和 gotoEnd 都为可选参数,为布尔值. clearQueue : 是否要清空未执行玩的动画列表 gotoEnd : 是否直接将正在执行的动画跳转到末状态 经常在hover时间的动画效果里用到 stop() 方法,可以避免动画效果与光标动作不一致时导致的延迟动画. 例如: $(".test").hover(function(){     $(this).sto

Geodatabase - 判断是否处于编辑状态

Engine中提供IDatasetEdit来判断数据是否处于编辑状态,我们知道,在ArcMap中,进行编辑的不一定都是要素类,也可以是表,网络几何等.以下能在ArcMap中进行编辑的数据都实现了 IDatasetEdit接口: Classes that implement IDatasetEdit Classes Description AttributedRelationshipClass Esri Attributed Relationship Class object. Cadastral

jQuery 停止动画

jQuery stop() 方法用于在动画或效果完成前对它们进行停止. jQuery stop() 方法 jQuery stop() 方法用于停止动画或效果,在它们完成之前. stop() 方法适用于所有 jQuery 效果函数,包括滑动.淡入淡出和自定义动画. 语法 $(selector).stop(stopAll,goToEnd); 可选的 stopAll 参数规定是否应该清除动画队列.默认是 false,即仅停止活动的动画,允许任何排入队列的动画向后执行. 可选的 goToEnd 参数规定

jQuery 停止动画、jQuery Callback 函数、jQuery - Chaining

一.jQuery 停止动画 jQuery stop() 方法用于在动画或效果完成前对它们进行停止. stop() 方法适用于所有 jQuery 效果函数,包括滑动.淡入淡出和自定义动画. $(selector).stop(stopAll,goToEnd); 可选的 stopAll 参数规定是否应该清除动画队列.默认是 false,即仅停止活动的动画,允许任何排入队列的动画向后执行. 可选的 goToEnd 参数规定是否立即完成当前动画.默认是 false. 因此,默认地,stop() 会清除在被

jquery 停止动画 stop的几种用法

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

jquery hover事件只触发一次动画

最近工作时遇到个关于动画的问题,如下: [javascript] view plain copy $("div").hover( function() { $(this).animate({"margin-top":"100px"},1000); }, function() { $(this).animate({"margin-top":"200px"},1000); }); 看代码就是一个简单的鼠标滑过的

jQuery源码分析系列(40): 动画设计

前言 jQuery动画是通过animate这个API设置执行的,其内部也是按照每一个animate的划分封装了各自动画组的行为, 包括数据过滤.缓动公式.一些动画默认参数的设置.元素状态的调整.事件的处理通知机制.执行等等 换句话说,我们可以把animate看作一个对象,对象封装自己的一系列属性与方法. jQuery可以支持连续动画,那么animate与animate之间的切换就是通过队列.queue,这个之前就已经详细的解释过了 动画的参数 jQuery的内部的方法都是针对API的处理范围设计

jquery总结06-动画事件04-自定义动画

.animate(params,[speed],[easing],[fn]) params,[speed],[easing],[fn]Options,Number/String,String,FunctionV1.0params:一组包含作为动画属性和终值的样式属性和及其值的集合speed:三种预定速度之一的字符串("slow","normal", or "fast")或表示动画时长的毫秒数值(如:1000)easing:要使用的擦除效果的名称(