动画队列

动画队列

jQuery中的animate的自定义动画中,含有动画队列的感念。将所要执行的动画按一个个的排列成一队,并先后顺序的一个个的执行。

范例代码

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
  <style>
    .container{
  position: relative;
}
.box {
  position: absolute;
  width: 100px;
  height: 100px;
  background: red;
}
  </style>
  <script src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.js"></script>
</head>
<body>
  <button id="btn1">start</button>
  <button id="btn2">step+50</button>
  <button id="btn3">step-50</button>
  <button id="btn4">auto</button>
  <button id="btn5">reset</button>
  <button id="btn6">stop(false,false)</button>
  <button id="btn7">stop(true,false)</button>
  <button id="btn8">stop(true,true)</button>
  <button id="btn9">finish</button>
  
  <div class="container">
    <div class="box"></div>
  </div>
  
  
  <script>
    $('#btn1').click(function(){
      $('.box').animate({
        left: '100px'
      }, 1000)
    })
    $('#btn2').click(function(){
      $('.box').animate({
        left: '+=50'
      }, 1000)
    })
    $('#btn3').click(function(){
      $('.box').animate({
        left: '-=50'
      }, 1000)
    })
    $('#btn4').click(function(){
      $('.box').animate({
        left: '100px'
      }, 1000)
      $('.box').animate({
        left: '100px',
        top: '100px'
      }, 1000)
      $('.box').animate({
        left: '0',
        top: '100px'
      }, 1000)
      $('.box').animate({
        left: '0',
        top: '0'
      }, 1000)
    })
    $('#btn5').click(function(){
      $('.box').animate({
        left: 0,
        top: 0
      }, 1000)
    })
    $('#btn6').click(function(){
      //停止当前动画
      $('.box').stop()
    })
    $('#btn7').click(function(){
      //停止当前动画,并清除未执行的动画队列
      $('.box').stop(true, false)
    })
    $('#btn8').click(function(){
      //停止当前动画,并清除未执行的动画队列,并且当前动画展示最终状态
      $('.box').stop(true, true)
    })
    $('#btn9').click(function(){
      //停止当前动画,并清除未执行的动画队列,并且当前动画展示最终状态
      $('.box').finish()
    })
    

  </script>
</body>
</html>

动画队列的停止和清除

clearQueue

清除动画队列中未执行的动画

.finish

停止当前动画,并清除动画队列中未完成的动画,并展示最终完成动画队列


动画4

.stop

  • stop(false,false)
    停止当前正在运行的动画


    动画1
  • stop(true,false)
    停止当前动画,并清除未执行的动画队列


    动画2
  • stop(true,true)
    停止当前动画,并清除未执行的动画队列,并且当前动画展示最终状态


    动画3

效果预览

http://js.jirengu.com/zawir/1/edit?html,css,output

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 动画队列可以说是动画执行的一个顺序机制,当我们对一个对象添加多次动画效果时后,添加的动作就会被放入这个动画队列中,...
    饥人谷_阿银阅读 322评论 0 0
  • 当在jQuery对象上调用动画方法时,如果对象正在执行某个动画效果,那么新调用的动画方法就会被添加到动画队列中,j...
    礼知白阅读 223评论 0 0
  • jquery中的animate的自定义动画中,含有动画队列的感念。将所要执行的动画按一个个的排列成一队,并先后顺序...
    猢狲宙斯阅读 366评论 0 0
  • 为元素btn绑定一个动画效果,先向右移动300px,再向下移动300px,再向左移动300px,再向上移动300p...
    薛小皮阅读 255评论 0 0
  • 一、写法方式 (1) 方式一:将动画连续的写就会形成一个动画队列,按顺序从上至下依次执行 (2) 方式二:将后续...
    5吖阅读 194评论 0 0

友情链接更多精彩内容