queue方法

摘自W3C school手册,用于简单理解使用queue方法

队列

每个元素均可拥有一到多个由 jQuery 添加的函数队列。在大多数应用程序中,只使用一个队列(名为 fx)。队列运行在元素上异步地调用动作序列,而不会终止程序执行。典型例子时调用元素上的多个动画方法。例如:div元素有两个动画队列,当这条语句执行时,元素会立即开始其滑动动画,但是淡入过渡被置于 fx 队列,只有当滑动过渡完成后才会被调用

$('div').slideUp().fadeIn();

queue方法

  queue(queueName,callback()

    queueName:队列名,字符串形式, 默认是 fx

    callback(): 允许我们在队列末端增加一个新函数,这个特性与动画方法提供回调函数类似,但是无需在动画执行时设置回调函数。

例子一:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
div {
position: absolute;
left: 100px;
top: 100px;
width: 100px;
height: 100px;
background-color: hotpink;
}
</style>
</head>
<body>
<div></div>
<script src = 'js/jquery-2.2.0.min.js'></script>
<script>
var div = $("div");
//给div添加多个队列函数
function runIt() {
div.show(1000);
div.slideDown(1000);
div.hide(1000);
div.slideUp(1000, runIt);
}
//显示div元素当前队列有几个函数要执行
setInterval(function(){
var n = div.queue("fx");
console.log( n.length);
},100)
runIt();
</script> </body>
</html>

 结果显示div元素当前队列有几个函数要执行,4,3,2,1,4,3,2,1......

 

 例子二:

  queue(queueName,callback()):允许我们在队列末端放置一个新函数。这个特性与动画方法提供回调函数类似,但是无需在动画执行时设置回调函数

  .dequeue():执行当前队列的第一个函数

//新增一个jqueue方法jqcss,queue(fn)能够把这个fn添加到当前对象的队列中去,并且fn某些程度上被当做动画类函数
$.fn.extend({
jqcss: function(jsonCss){
return $(this).queue(function(){
$(this).css(jsonCss).dequeue();
})
}
}); // $.fn.jqcss = function (Jsoncss){
// return $(this).queue(function(){
// $(this).css(Jsoncss).dequeue();
// })
// };
比如delay需要在两个动画类函数中间使用,我用queue添加一个函数fn,delay就能使用了,达到第一个特效延迟3s后播放第二个特效
$('#main>li').each(function(i){
$(this).css({
//把前面所有的transform样式覆盖了
'transform': 'rotateY('+i*10+'deg)'
}).delay(3000).jqcss({
'transform': 'rotateY('+i*10+'deg) translateY('+(firstY+i*16)+'px) translateZ(1000px)'
})
})

  

  

  

 

 

最新文章

  1. 父容器利用opacity设置透明后,子元素跟着变透明的解决方案
  2. HDFS Federation (读书笔记)
  3. [原创]cocos2d-x研习录-第三阶 特性之按键与虚拟键盘
  4. 保护眼睛,把常用软件的背景设置成Dark
  5. JavaScript强化教程——Cocos2d-JS中JavaScript继承
  6. mysql 二进制安装文件 下载
  7. SQL中一种类似GUID值的函数实现
  8. 玩耍Hibernate系列(一)--基础知识
  9. MapperScannerConfigurer(转)
  10. Python PIL库之Image注解(API)
  11. 关于URL的理解
  12. x264 编码器选项分析 (x264 Codec Strong and Weak Points) 2
  13. Flutter 即学即用系列博客——08 MethodChannel 实现 Flutter 与原生通信
  14. js基础-字符串常用属性合集
  15. lucene实战--打分算法没有那么难!
  16. 波吉亚家族第一季/全集The Borgias 1迅雷下载
  17. Mina.Net实现的断线重连
  18. Hyperledger Fabric CA User’s Guide——开始(三)
  19. day8 opencv3 ,没有GMG MOG
  20. NOIP模拟赛10

热门文章

  1. bootstrap模态框模板代码
  2. Python---基础----数据类型的内置函数(主要介绍字符串、列表、元组、字典、集合的内置函数)(二)
  3. Cobaltstrike系列教程(三)-beacon详解
  4. Test 6.29 T3 小学生
  5. Java缓冲字符读取
  6. 028:with标签使用详解
  7. 当 Messaging 遇上 Jepsen
  8. 调试IPV6
  9. php prev()函数 语法
  10. 清北学堂Day 6之STL