JQuery中queue方法用法示例


Posted in jQuery onJanuary 31, 2019

本文实例讲述了JQuery中queue方法用法。分享给大家供大家参考,具体如下:

jquery的queue方法

显示或操作在匹配元素上执行的函数队列

意思就是对匹配上的元素,显示作用在这个元素上的函数的个数,也就是上述所说的“显示”,而操作则是更改这些作用在该元素上的函数队列

举个例子:

<style>
 div { margin:3px; width:40px; height:40px;
    position:absolute; left:0px; top:30px;
    background:green; display:none; }
 div.newcolor { background:blue; }
 span { color:red; }
</style>
<button id="show">Show Length of Queue</button>
<span></span>
<div></div>
$("#show").click(function () {
   var n = $("div").queue("fx");
   $("span").text("Queue length is: " + n.length);
});
function runIt() {//里面有一系列作用于div元素的函数,一共为8个(在没有执行$("div").slideUp("normal", runIt);这个语句的时候显示的结果是8个,每次执行完一个都会减少一个,但是当所有动作执行完又再次执行RUNIT()的时候,结果就不是八而是十六了,很明显它把原本执行完的序列,原本应该为0的时候它却是8+8而不是0+8的结果显示),
//但如果你复制以上代码发现点击按钮是小于8,是因为你点击的时候动作已经开始执行,序列-1
   $("div").show("slow");
   $("div").animate({left:'+=200'},2000);
   $("div").slideToggle(1000);
   $("div").slideToggle("fast");
   $("div").animate({left:'-=200'},1500);
   $("div").hide("slow");
   $("div").show(1200);
   $("div").slideUp("normal", runIt);
}
runIt();

讨论的重点不是它重复执行RUNIT()的时候的序列长度,这个不管一般也用不上

而是如何用queue来操作函数序列

<style>
 div { margin:3px; width:40px; height:40px;
    position:absolute; left:0px; top:30px;
    background:green; display:none; }
 div.newcolor { background:blue; }
</style>
<button id="start">Start</button>
<button id="stop">Stop</button>
<div></div>
$("#start").click(function () {
   $("div").show("slow");
   $("div").animate({left:'+=200'},5000);
   $("div").queue(function () {//创建一个匿名函数作为一个<动画>序列,忘记说明$("div").queue("fx"),默认参数是 fx, 标准的效果序列。当然你也可以将addclass这个操作自定义成一个动画效果也是可以的,现在这种写法,addclass也变成了一个效果函数,并成了序列的内容
     $(this).addClass("newcolor");
     $(this).dequeue();//插入自定义函数之后,如果还需要继续还行队列,则用dequeue(),如果不用这个函数,动画将停止,当然动画序列还是在的,这并不是意味着删除剩下的序列,这代码只能放自定义函数最后面,如果放在外面会有意料之外的效果,比如它不是按照播放完一个动画再执行自定义函数里面的内容,而是在上一个动画开始后立马就执行了,而放在自定义函数内部则不会出现这个问题。
   });
   $("div").animate({left:'-=200'},1500);
   $("div").queue(function () {
     $(this).removeClass("newcolor");
     $(this).dequeue();
   });
   $("div").slideUp();
 });
 $("#stop").click(function () {
   $("div").queue("fx", []);//stop是结束当前正在进行的动画,如果除了当前动画还有后续动画,则会立马执行下一个动画,而这一句是将序列用新的数组(这里是空数组)代替原本的序列,意味着,删除了剩下的所有动画序列,所以这里就能体现出queue的作用,它主要还是用来替换和删除动画效果,新增的话可以用其他代替
   $("div").stop();
 });

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
使用jQuery实现购物车结算功能
Aug 15 jQuery
jQuery实现腾讯信用界面(自制刻度尺)样式
Aug 15 jQuery
jQuery DOM节点的遍历方法小结
Aug 15 jQuery
jQuery实现的文字逐行向上间歇滚动效果示例
Sep 06 jQuery
jQuery实现获取table中鼠标click点击位置行号与列号的方法
Oct 09 jQuery
JQuery选中select组件被选中的值方法
Mar 08 jQuery
vue+jquery+lodash实现滑动时顶部悬浮固定效果
Apr 28 jQuery
jQuery实现的页面详情展开收起功能示例
Jun 11 jQuery
jQuery中each遍历的三种方法实例分析
Sep 07 jQuery
jQuery操作attr、prop、val()/text()/html()、class属性
May 23 jQuery
基于jquery实现的tab选项卡功能示例【附源码下载】
Jun 10 jQuery
jQuery 动态粒子效果示例代码
Jul 07 jQuery
AJAX在JQuery中的应用详解
Jan 30 #jQuery
jQuery访问json文件中数据的方法示例
Jan 28 #jQuery
jQuery实现的网站banner图片无缝轮播效果完整实例
Jan 28 #jQuery
jQuery实现合并表格单元格中相同行操作示例
Jan 28 #jQuery
在Vue项目中引入JQuery-ui插件的讲解
Jan 27 #jQuery
在vue项目中使用Jquery-contextmenu插件的步骤讲解
Jan 27 #jQuery
jQuery实现左右两个列表框的内容相互移动功能示例
Jan 27 #jQuery
You might like
解析argc argv在php中的应用
2013/06/24 PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
2016/09/11 PHP
php 生成签名及验证签名详解
2016/10/26 PHP
JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
2014/10/17 Javascript
node.js使用require()函数加载模块
2014/11/26 Javascript
通过sails和阿里大于实现短信验证
2017/01/04 Javascript
nodejs简单读写excel内容的方法示例
2018/03/16 NodeJs
VeeValidate在vue项目里表单校验应用案例
2018/05/09 Javascript
vue中动态设置meta标签和title标签的方法
2018/07/11 Javascript
NodeJS读取分析Nginx错误日志的方法
2019/05/14 NodeJs
vue实现计步器功能
2019/11/01 Javascript
[05:46]DOTA2英雄梦之声_第18期_陈
2014/06/20 DOTA
[00:03]DOTA2新版本PA至宝展示
2014/11/19 DOTA
python解析中国天气网的天气数据
2014/03/21 Python
python 函数传参之传值还是传引用的分析
2017/09/07 Python
Python基于更相减损术实现求解最大公约数的方法
2018/04/04 Python
Python基于pandas实现json格式转换成dataframe的方法
2018/06/22 Python
浅谈python常用程序算法
2019/03/22 Python
教你一步步利用python实现贪吃蛇游戏
2019/06/27 Python
py-charm延长试用期限实例
2019/12/22 Python
Python操作注册表详细步骤介绍
2020/02/05 Python
Pycharm中安装Pygal并使用Pygal模拟掷骰子(推荐)
2020/04/08 Python
pytorch 实现L2和L1正则化regularization的操作
2021/03/03 Python
FILA斐乐中国官方商城:意大利运动品牌
2017/01/25 全球购物
英国花园家具中心:Garden Furniture Centre
2017/08/24 全球购物
中专药剂专业应届毕的自我评价
2013/12/27 职场文书
全神贯注教学反思
2014/02/03 职场文书
自荐信的基本格式
2014/02/22 职场文书
关于教师节的演讲稿
2014/09/04 职场文书
党的群众路线教育实践活动个人对照检查材料(医生)
2014/11/05 职场文书
2014年妇幼保健工作总结
2014/12/08 职场文书
入党积极分子个人总结
2015/03/02 职场文书
博士给导师的自荐信
2015/03/06 职场文书
高中生社会实践心得体会
2016/01/14 职场文书
php微信小程序解包过程实例详解
2021/03/31 PHP
React Hook用法示例详解(6个常见hook)
2021/04/28 Javascript