jQuery动画序列

html用序列图做动画 (jquery替换图片版/jquery一次添加所有图片依次显示版/canvas版(最流畅)) html+jquery+jquery.imgpreload做序列图      找啊找啊找啊找啊找啊找啊找了半天(从各种网站上找资料费了半天劲)才找到的, 然后拼拼凑凑弄出来的序列图播放, 网上的资料太不负责任了, 简单的功能非不写全, 还没注释,功能也实现不了, 我弄出来给大家分下下 说明:      只针对多张png组成的序列图, -拼凑为动画.找不到jquery.imgpreload.min.js的问我要 阅读详情
**这里写代码片JQuery中的动画序列queue(),dequeue(),和stop()如下例: div.show("slow").animate({left:'+=300'},2000).slideToggle(1000).animate({left:'-=300'},1500).hide("slow").slideUp("normal", runIt); 此时div的动画先从左向右移动,在右侧隐藏后先发生转移到左边再显示出来,而我们所希望的是移动到右侧后消失、显示再移动到左侧 那明明我们是按顺序写的,为什么会出现这个问题呢? 其实,当你使用一系列的动画效果(如hide,show),这些动画函数都会被放进一个名为"fx"的队列中,然后在以先进先出的方式执行队列中的函数,而非动画函数,比如上面例子中的slideToggle()函数,则是不会进入这个队列中,并且先于动画函数的执行,也就是在"fx"先进先出,取出第一个函数之前,它就已经执行了。 那如果写一个白色方块,先收起(slideUp),在放下(SlideDown),背景再变成白色,应该不会写成$('div').slideUp('slow').slideDown('slow').css({"background":"red"}); 而是应该使用queue函数$('div').slideUp('slow').slideDown('slow').queue(function(next){ $('#object').css({"background":"red"}); next(); }); 首先,我们又要回到.queue()的函数定义,其实我们现在这种在queue中加入函数的用法,官方给出的函数原型是:queue( [ queueName ], callback( next ) ) 也就是说我们加入的函数其实是一个关于队列的回调函数。也就是在队列结束之后,系统会自动为你调用你加入的函数。(补充一下,关于回调函数:自己定义,系统调用。回调函数的关键在于我们无法预知它何时被调用。因为我们只是定义了这么一个函数,可能通知系统在完成某一系列的动作后来调用它。) 其实我们可以这样考虑,如果把这个函数作为slideDown的回调函数效果不都是一样的吗?因为我们最终想要的只是保证变色函数在slideDown之后执行,slideDown和queue的回调函数都能保证这种效果! $('div').slideUp('slow').slideDown('slow',function(){ $('#object').css({"background":"red"}); }); 这二者有异曲同工之妙 还有一点要注意的是.queue()中的next参数和next()能不能舍去其一? 我们上面说到queue中的函数是回调函数,如果我们稍稍对上上面的代码做一些修改,比如: $('div').slideUp('slow').slideDown('slow').queue(function(next){ $('#object').css({"background":"red"}); //next(); }).hide('slow');一是我把next()语句注释掉了,二是希望在变色以后再让方块隐藏起来。但是当你运行之后,发现在变色之后无法对方块执行隐藏。要记住queue中的函数是回调函数呀,默认情况下只有动画队列执行完了,才会调用变色函数,既然动画队列都执行完了,哪里来的hide()?所以next()是保证在执行完这次队列后再次执行下一个动画函数 我曾经尝试过抛弃next参数而保留next()语句,这样的结果是能在现代浏览器(firefox,chrome之类)中运行,但无法在ie6中运行。所以,保留吧 。next和next()是jquery1.4中才开始出现的,而在之前使用的是.dequeue()函数,如果要将这节的例子改为使用dequeue(),如下: $('#object').slideUp('slow').slideDown('slow').queue(function(){ $('#object').css({"background":"red"}); $(this).dequeue(); }); 自定义队列 建立一个名为'custom'的队列,里面有一个能使黑色小方块改变背景颜色的方法,如下: $("div").queue("custom", function(next) { $('div').css({'background':'red'}); next(); }); 但就这段代码而已,待你真正添加进网页,并且尝试运行,会发现并非“所见即所得”,压根就不会有任何效果。因为......: $("div").queue("custom", function(next) { $('div').css({'background':'red'}); next(); }) .dequeue("custom"); //this is the key对,就是这句,.dequeue("custom")。一般对与dequeue()的定义是“删除队列中最顶部的函数,并且执行它”。我并不赞同用“删除”这个字眼,而是倾向于“取出”,其实这个函数的功能就好像是一个数据结构中队列的指针,待队列中前一个函数执行完后,取下一个队列最顶端的函数。(不是很明白) 现在需求如下 :在2000毫秒的时间内,物体的高度一致在均匀变化,逐渐减小,而不透明度在前1000毫秒始终保持为1.0,而在后1000毫秒才逐渐减小直至完全为0。 如果我们暂且只考虑向上浮动和透明效果,我们可能会写出这样的语句: $("#object").animate({opacity: 0, top: "-=40"}, {duration: 2000}); 很遗憾,这样的语句只能让物体在整体2000毫秒中都处于逐渐向不透明转化的过程,也就是不能让它在前1000毫秒中保持100%不透明——于是我们用queue来解决这个问题: $("#object") .delay(1000, "fader") .queue("fader", function(next) { $(this).animate({opacity: 0}, {duration: 1000, queue: false}); next(); }) .dequeue("fader") .animate({top: "-=40"}, {duration: 2000}) 我们先来看它的思路:把控制不透明度和控向上移动的动画分别存储在两个队列中,控制向上移动的队列按默认情况进行(在2000毫秒内完成),而不透明度的控制在1000毫秒内执行,但这个队列要晚于默认队列1000毫秒执行,再简单一点,就是:前1000毫秒,只有控制高度的“fx”队列执行,而后1000毫秒,控制不透明度的“fader”队列和控制高度的“fx”并行首先准备两个队列,一个是默认的"fx",存储高度变化动画: .animate({top: "-=40"}, {duration: 2000})用来另一个是自定义的"fader"的队列,来存储不透明度变化的动画: .animate({opacity: 0}, {duration: 1000, queue: false});注意上面这段代码中的"queue:false",这是很关键的一句话,目的是让这个animate不进入默认的"fx"队列中,任何的动画效果都会进入"fx"队列中,即使你定义在.queue()中的动画也是一样,并且动画效果,务必会按顺序执行,比如说下面这段代码: $('#object').slideUp(1000)<br> .slideDown(1000)<br> .animate({width: '50px'}, {duration: 1000}); 运行后它只会按照顺序来执行,先收起,再放下,再把宽度收缩为50px,但是一旦我加入了"queue:false"这个参数: $('#section3a').slideUp(1000) .slideDown(1000) .animate({width: '50px'}, {duration: 1000, queue: false});你会发现在收缩放下的同时,object的宽度也在收缩,本来线性执行的slideUp,slideDown,animate,变成了animate和slideUp,slideDown并行: OK,我们回过头来再看实战中的这个例子: $("#object") .delay(1000, "fader") .queue("fader", function(next) { $(this).animate({opacity: 0}, {duration: 1000, queue: false}); next(); }) .dequeue("fader") .animate({top: "-=40"}, {duration: 2000})其实前三个语句(这里所说的语句以"."为区分标志),做了这么几件事: 定义一个名为fader的队列,专用于控制不透明度的改变——.queue()语句 让它1000毫秒后执行——.delay()延时函数,延时fader队列的执行时间;.dequeue执行fader队列。 而最后的.animate则是默认进行的,不用管它。一起来看看效果,左边的是正确的,右边的是错误的(可能在IE6中有布局错位的情况,因为是jQuery例子,时间有限,也就不追究css的错误了吧……) 获取队列长度比如用队列名取得匹配元素的长度: var $queue=$("div").queue('fx');很明显,就是取得队列名为'fx'的队列,如果想取得长度的话: var $length=$('div').queue('fx').length;注意这里的队列长度只是匹配元素还未运行的队列长度,当动画运行完之后,队列长度会自动归为0,举下面一个例子: function animateT(){ $("#section2-div").slideToggle('3000') .slideToggle('3000') .hide('3000') .show('3000') .animate({left:'+=200'},2000) .hide('3000') .show('3000') .animate({left:'-=200'},2000,animateT);//在这轮动画结束的时候再调用自己,使动画无限循环下去 }然后当点击按钮的时候显示队列的长度: $("#section2-input").click(function(){ var $queue=$("#section2-div").queue('fx'); $('#section2-h1').text($queue.length); }); (队列长度是4) 本文参考:http://www.cnblogs.com/zhwl/p/4328279.html**
【JavaScript】序列动画 根据MDN网站学习记录笔记 异步JavaScript一、项目目标二、项目流程三、效果展示四、章节小结4.1 通用异步编程概念4.2 异步JavaScript简介4.2 如何使用Promises4.3 实现基于Promises的API4.4 介绍worker 一、项目目标 二、项目流程 三、效果展示 四、章节小结 4.1 通用异步编程概念 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。 JavaScript一般来说是单线程的 即使有多个内核,也只能在单 阅读详情

相关推荐

深入理解jQuery队列控制方法:queue(), dequeue(), clearQueue()

本文还有配套的精品资源,点击获取 简介:在使用jQuery处理动画和异步操作时,队列管理是一个关键概念。本文详细解释了jQuery的队列控制方法 queue() 、 dequeue() 和 clearQueue() ,并提供示例来展示如何使用这些方法来管理动画序列和队列。 1. jQuery队列概念和默认队列 jQu...

weixin_36304957的博客 1051

基于CSS3、原生JS、Vue3.0技术各自实现序列帧动画效果

还记得序列帧技术在2018年的时候很火的,那时做H5很吃香的...那么在此记录一下用纯CSS3、原生JS、Vue3.0,这3种方式来设计几个例子。需要自己去找一下雪碧图哦,比如阿里云、腾讯云官网有很多雪碧图的~

都随它大小便吧 2806

Jquery,js的逐帧动画实现

Jquery,js的逐帧动画实现,将一帧一帧的静态图片实现动画效果demo。

jQuery基础之五 -- 动画效果

用jQuery做动画效果要求要在标准模式下,否则可能会引起动画抖动,标准模式即要求文件头部包含如下的DTD定义: "http://wwww.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1.show(speed [,callback])/hide(speed [,callback]);   会改变元素的高度、宽度和不透明度,不带参数的情

Channing 3456

Xilinx IP核 Block Memory Generator v8.4 的使用

本文主要介绍如何使用并初始化 Xilinx 提供的IP核 Block Memory Generator v8.4`,为了确保成功初始化,还对其进行了一个简单的仿真,更多细节请参考官方手册。

高阶近似的博客 1万+

SGO基线解算软件(南方测绘UI设计最美观的一款新版)

不多说,先放地址: 下载地址:https://www.southgnss.com/download_view.asp?did=361 SGO是南方测绘集团广州南方卫星导航仪器有限公司自主研发新一代南方地理数据处理平台软件,对南方特有数据格式文件(STH格式文件)、标准数据格式文件(RINEX格式文件)进行静态数据处理、动态数据后处理和进行RTK结果检验,新增加了北斗数据处理和摄影测量模块,并围绕南方的不同类型测量产品集成多款测绘领域所需的小工具,实现测绘内业数据处理一体化。 相关概念 G..

heirenqiaoke的博客 1万+

jQuery中处理动画序列引起的问题

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33941350的博客 188

Ansys Lumerical FDTD仿真加速策略与高性能硬件选型指南

本文深入探讨了Ansys Lumerical FDTD仿真的核心加速策略,涵盖算法优化与硬件选型两大维度。通过合理运用非均匀网格、对称边界条件等算法技巧,并精准匹配CPU/GPU计算资源与高性能硬件配置,可显著提升仿真效率,将计算时间从数天缩短至数小时。

a0b1c2d3的专栏 611

jQuery:<3>动画序列和添加节点、删除节点

我们学完了基本动画就来看看自定义动画吧,怎样自定义呢?我们可以使用animate()方法,该方法含有四个参数,第一个参数是一个对象,我们可以编写要添加动画的属性变化值,第二个参数是动画时长,第三个是设置为缓动还是匀速,第四个就是回调函数了: //1.2 为box1制作动画 $('.box').animate({ width:200, left:400, 'background-colo

aiwanchengxu的博客 1532

基于STM32L4XX、HAL库的Ra-01SC-P LoRa模块驱动程序设计

0x22) { // SX1276/SX1278版本号。// 发射功率(2-20)// 工作频率(Hz)// 编码率(5-8)

zhusl6688的博客 425

彻底摆脱文献只能读开头的痛苦!这款文献检索神器真能帮你跨越文献付费限制(附实操演示)

大家是不是有过这样的经历,好不容易通过关键词搜到了和自己主题高度相关的文献,想要快速获取文献信息,推进研究进度,却又因为付费或者需订阅才能下载PDF,而被劝退。粘贴完成后,点击搜索,搜索结果页面会显示这篇文献的相关信息,有的文献有“下载PDF”,有的文献则只有“求助PDF”,不管是哪种情况,直接点击进入;我这里点击的是“下载PDF”,接着它会跳转页面。我用 Book 学术下载过不少付费文献,实测下来 80% 左右的文献,都能通过它的求助方式成功获取到,只有少部分文献等待的时间会稍微久一些或者没办法下载。

qq_64378896的博客 166

如何用FreeDomains活动日志守护账号安全?IP、设备与每一步操作全记录

FreeDomains 是一个面向开发者的免费开源子域名服务,让你无需购买域名就能上线 API、演示站点和副业项目。除了注册子域名和托管 DNS,它还内置了**活动日志(Activity Logs)**功能:每一次登录、每一条 DNS 记录的增删改,连同操作来源的 **IP 地址**和**设备信息**都会被完整记录,帮助你快速发现异常登录、排查误操作,真正成为守护账号安全的第一道防线。 ## ?

gitblog_00635的博客 394

UG\NX二次开发 一个创建小平面体的例子

介绍。

王牌飞行员_里海的博客 445

jQuery .delay() 方法完全指南:优雅地管理动画序列延迟

本文介绍了 jQuery 中 .delay() 方法在动画队列中的正确使用方式及其局限性。文章首先解释了 .delay() 的作用机制,它专为动画队列设计,能在链式动画之间创建暂停。随后重点指出 .delay() 无法延迟非动画方法(如 .css()、.addClass() 等)的常见误区,并提供了两种解决方案:使用原生 setTimeout() 或结合 .queue() 方法实现复杂动画序列中的延迟操作。最后通过一个消息提示案例展示了实用技巧,并总结出最佳实践:.delay() 仅适用于动画队列间的暂停,

weixin_42107409的博客 653

基于Lumerical的1550 nm InGaAs/InP与InGaAs/InAlAs APD设计与功率饱和度优化

摘要 本研究利用Ansys Lumerical软件对1550 nm激光雷达应用的InGaAs/InP和InGaAs/InAlAs雪崩光电二极管(APD)进行仿真设计与优化。通过FDTD光学仿真获取光吸收分布,结合CHARGE模块的电学仿真分析暗电流、光电流及雪崩增益特性。重点研究了两种材料体系的性能差异,并针对近距离强反射导致的功率饱和问题提出结构优化方案。仿真结果表明,InGaAs/InAlAs APD具有更优的过量噪声特性,而优化的电荷层设计可显著提升器件的功率饱和阈值。研究提供了完整的仿真流程与代码实

huanghm88的专栏 97

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

jQuery队列控制方法详解

jQuery核心中,有一组队列控制方法,这组方法由queue()/dequeue()/clearQueue()三个方法组成,它对需要连续按序执行的函数的控制可以说是简明自如,主要应用于animate()方法,AJAX以及其他要按时间顺序执行的事件中。 先解释一下这组方法各自的含义: queue(name,[callback]):当只传入一个参数时,它返回并指向第一个匹配元素的队列(将是一个...

axl---专心专注于web前端开发 288

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Jquery解决“动画积累”问题

Jquery解决“动画积累”问题

God's blog 4801

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Jquery鼠标滑过图片抖一下

$(function () { // $("img").hover(function () { // // $(this).animate({left:"+=2px"},200).animate({left:"-=2px"},200); // // }, function () { // //

世間所有的相遇,都是久別重逢 901

jQuery队列控制方法详解queue()/dequeue()

原文链接:http://mrthink.net/jqueryapi-queue-dequeue/ jQuery核心中, 有一组队列控制方法, 这组方法由queue()/dequeue()/clearQueue()三个方法组成, 它对需要连续按序执行的函数的控制可以说是简明自如, 主要应用于animate ()方法, ajax以及其他要按时间顺序执行的事件中. 先解释一下这组方法各自的含义.

hellochenlu的博客 1174

jQuery队列控制方法详解queue()/dequeue()/clearQueue()

jQuery核心中, 有一组队列控制方法, 这组方法由queue()/dequeue()/clearQueue()三个方法组成, 它对需要连续按序执行的函数的控制可以说是简明自如, 主要应用于animate ()方法, ajax以及其他要按时间顺序执行的事件中. 先解释一下这组方法各自的含义. queue(name,[callback]): 当只传入一个参数时, 它返回并指向第一个匹配元素

农村的我的专栏 742

jQuery特效-方法参数类型

duration 类型是字符串或数字来决定动画执行的时间,默认值是400毫秒。 持续的时间给的是毫秒,越高的值表明越慢的动画,不是越快。可以提供fast和slow字符串来分别指明持续的时间是200和600毫秒,如果duration参数未提供,默认的持续时间是400毫秒。 options 类型是传递给该方法的附加选择的集合。 附加选择主要有:duration、easing、comp

专注 1091

Jquery.velocity动画

Jquery动画插件

莎拉维尔_艺的博客 419

jQuery动画animate停止方法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> <...

江湖行骗老中医 1506

jQuery中的队列是什么?

我发现queue() / dequeue()上的jQuery.com文档太简单了。 jQuery中的队列到底是什么? 我应该如何使用它们?

asdfgh0077的博客 444
下一篇: js数据存储方法及处理
allbycode
博客等级 码龄10年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值