今天我们来看看jquery中动画操作的stop函数。其实我至今不是很明白啊,所以此文算是求救以及抛砖引玉。

在jquery 1.7版本以前,stop支持两个参数,分别是clearQueue和jumpToEnd。这点可以参考官方文档:stop

今天我写个示例,该例参考了w3school的在线测试代码:jquery stop 参数示例

本人代码示例demo1demo2

stop(clearQueue,jumpToEnd)函数分析

仅仅从官方API上给出的说明,我们就知道,第一个参数是针对的其它动画队列(不包含当前动画),第二个参数则是当前动画。

那么,什么是动画队列呢?

所谓的动画队列就是一系列要执行的动画,比如对一个盒子先在前一秒执行挪动动画,再过一秒执行变大的动画。那么,这就是两个动画了。

再比如,点击某个按钮a,给盒子b触发动画效果,每次挪动10px,挪动10px需要的时间是2s,那么以很快的速度狂点这个a按钮,你在2s时间里点了10次,这个动画需要累积10次的。虽然我们2s里只能完成1个动画效果,但是剩下的9个动画还是要完成的,这就形成了动画累积,跟排队似的,若不做任何处理,将会逐个按照先来先动画的规则完成。

但现实中,这种动画累积并非是我们期望的结果。所以,我们需要对动画进行更多的操作。从stop的参数来看,对于动画的操作,分为当前动画等候动画队列,传入的参数为boolean值类型。

  • clearQueue,是否清除等候动画队列,默认false,即是不清除等候动画队列,设置为false,则清空等候动画队列。
  • jumpToEnd,是否立即完成当前动画,默认false,即是停止当前动画,设置为true,则立即完成当前动画。

没错,上面的例子确实可以验证stop函数的参数作用。

但是,尼玛啊,我又写了个例子,我感脚我的认知又被颠覆了。。。

在线demo,请猛戳 jquery stop 示例3

记住,测试时,光标迅速进入和离开。然后,光标再次进入时,就没反应了。。

另外,既然第一个设置是针对等候动画队列的,为何我设置为false时,那些积累的动画队列就不执行了呢?

还是执行了,但是很短暂?

求大神告知我真相。

jquery animate stop函数解析的更多相关文章

  1. jquery animate 动画效果使用解析

    animate的意思是:使有生气:驱动:使栩栩如生地动作:赋予…以生命作为形容词:有生命的:活的:有生气的:生气勃勃的 先看动画效果:http://keleyi.com/keleyi/phtml/jq ...

  2. jquery animate函数实现

    jquery animate 函数 实现动画效果 参数一 比如高度宽度 之类的:'-=50' 参数二 速度之类 <html xmlns="http://www.w3.org/1999/ ...

  3. jquery的动画函数animate()讲解一

    jquery animate 动画效果使用说明 animate( params, [duration], [easing], [callback] ) 用于创建自定义动画的函数. 这个函数的关键在于指 ...

  4. jquery自调用匿名函数解析

    alert("undefined" in window);        (function (window, undefined) {            //构造jQuery ...

  5. [转]javascript eval函数解析json数据时为什加上圆括号eval("("+data+")")

    javascript eval函数解析json数据时为什么 加上圆括号?为什么要 eval这里要添加 “("("+data+")");//”呢?   原因在于: ...

  6. JQuery html API支持解析执行Javascript脚本功能实现-代码分析

    JQuery html用法(功能类似innerHTML) 开发中需要使用Ajax技术来更新页面局部区域, 使用的方法是ajax获取html代码段(字符串),然后将这个html代码段作为参数,传入目标D ...

  7. 详细解读Jquery各Ajax函数

    $.get(),$.post(),$.ajax(),$.getJSON() 一,$.get(url,[data],[callback]) 说明:url为请求地址,data为请求数据的列表,callba ...

  8. jQuery animate easing使用方法

    从jQuery API 文档中可以知道,jQuery自定义动画的函数.animate( properties [, duration] [, easing] [, complete] )有四个参数: ...

  9. jquery animate 详解

    一.前言 继上一篇文章jquery stop的探索之后,我们继续对jquery动画animate的研究. 从stop给出参数我们就知道,它适合你去立即停止或者立即结束当前动画,清除或者继续非当前的动画 ...

随机推荐

  1. HammerDB数据库压力工具使用简略步骤

    欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/38879681 HammerDB数据库压力工具使用简略步骤 尽管没有图,可是文字 ...

  2. KnockOut绑定

    KnockOut绑定之Click绑定 Click绑定对DOM元素添加一个函数,当DOM元素被点击的时候调用.在button,input 或者a标签中常用,但其实他适用于任何可见的DOM元素. exam ...

  3. Asp.net MVC + EF + Spring.Net 项目实践(四)

    这篇写一写如何使用Spring.net来解耦各个项目 1. 在接口层添加IStudentBLL文件,里面有GetStudent和GetAllStudents两个方法:然后在StudentBLL类里实现 ...

  4. GetDirectories 出错的解决方法

    我想找到D盘里面所有 "*.pst文件,类似 windows 下的磁盘搜索功能, using System.IO; Directory.GetFiles(@"d:\", ...

  5. Ejb in action(七)——message与JMS

    我们扩大MDBs学前,我们需要理解message(新闻)与JMS(Java Message Service)的概念. 我们在Java EE中谈论消息,实际上就是意味着实现一个松耦合的过程.系统组件之间 ...

  6. Python 图论工具

    networkx: 一个用Python语言开发的图论与复杂网络建模工具, 内置了经常使用的图与复杂网络分析算法, 能够方便的进行复杂网络数据分析.仿真建模等工作. 依赖工具: numpy  pypar ...

  7. 使用线程执行堆栈StackTraceElement设计Android日志模块

    假设你想在你的Android自己主动打印程序MainActivity.onCreate(line:37)这样的类名.方法名称(行)登录如何实现? 1.介绍Java线程执行堆栈  Java.lang包中 ...

  8. IE支持CSS3圆角

    在CSS中使用CSS插件文件即可让IE6/IE7/IE8浏览器. 具体CSS代码: .yuan { border: 2px solid #C0C0C0; -moz-border-radius: 10p ...

  9. .Net中批量更新或添加数据

    方法一:使用SqlBulkCopy实现批量更新或添加数据. SqlBulkCopy类一般只能用来将数据批量插入打数据库中,如果数据表中设置了主键,出现重复数据的话会报错,如果没有设置主键,那么将会添加 ...

  10. C注意,使用的语言字符串

    转载请注明出处! 在C语言没有具体的字符串数据类型,字符串的字符串常量和字符数组的形式. 实际上该字符串是零个或更多字符的字符串.并在整个位模式0NUL字节结束.因此,字符串所包括的字符内部不能出现N ...