最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用Jquery隊(duì)列實(shí)現(xiàn)根據(jù)輸入數(shù)量顯示的動(dòng)畫(huà)

 更新時(shí)間:2016年09月01日 10:18:06   投稿:daisy  
這篇文章給大家演示了如何利用Jquery隊(duì)列實(shí)現(xiàn)輸入不同的數(shù)量就顯示不同的動(dòng)畫(huà)效果,文中給出了實(shí)例,讓大家更容易理解,有需要的可以參考借鑒。

先來(lái)看看要實(shí)現(xiàn)的效果圖

如上面的gif圖所示,可以在輸入框中,輸入要產(chǎn)生的動(dòng)畫(huà)的數(shù)量,然后點(diǎn)擊click me按鈕,就產(chǎn)生了效果。產(chǎn)生的效果是通過(guò)在數(shù)組中預(yù)設(shè)的幾種。這里為了演示方便,沒(méi)有設(shè)置具體的形狀,比如可以更換為一些其它的iconfont來(lái)實(shí)現(xiàn)效果。

實(shí)現(xiàn)思路

通過(guò)$.queue$.dequeue來(lái)實(shí)現(xiàn)動(dòng)畫(huà)隊(duì)列的存取與取出實(shí)現(xiàn)效果。首先通過(guò)按照input輸入的數(shù)字來(lái)形成對(duì)應(yīng)數(shù)量效果對(duì)象的數(shù)組。然后在把數(shù)組存放到$.queue中,最后通過(guò)click me按鈕觸發(fā),一個(gè)一個(gè)取出動(dòng)畫(huà)序列,實(shí)現(xiàn)動(dòng)畫(huà)。

注意

這里要注意的是,在一個(gè)一個(gè)取出動(dòng)畫(huà)的時(shí)候,用到了setInterval,不需要的時(shí)候一定要清除計(jì)時(shí)器,否則會(huì)影響序列,不停的取出。

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script src="/jquery-2.1.4.min.js" type="text/javascript"></script>
  <style>
    *{
      padding: 0;
      margin: 0;
    }
    .box{
      width: 50px;
      height: 50px;
      border: 1px solid slateblue;
      position: relative;
      left: 750px;
      top: 500px;
    }
    .animate{
      width: 50px;
      height: 50px;
      border: 1px solid skyblue;
      background: slateblue;
      opacity: 0;
      position: absolute;
    }
    .up{
      z-index: 999;
      background: red;
      width: 50px;
      height: 50px;
      border: 1px solid skyblue;

    }
    #btn{
      background: slateblue;
      position: absolute;
      left: 0;
      top: 0;
    }
    .number{
      position: absolute;
      top: 600px;
      left: 740px;
      width: 100px;
      height: 30px;
    }
    #btnTrg{
      background: slateblue;
      width: 100px;
      height: 30px;
      border: 0;
      position: absolute;
      top: 600px;
      left: 600px;
    }
    .result{
      position: absolute;
      top: 600px;
      left: 900px;
      width: 100px;
      height: 30px;
      background: skyblue;
      text-align: center;
    }

  </style>
</head>
<body>
  <div id="content"></div>
  <div class="box">
    <span class="animate1 animate"></span>
    <span class="animate2 animate"></span>
    <span class="animate3 animate"></span>
    <span class="animate4 animate"></span>
    <span class="animate5 animate"></span>
    <span class="animate6 animate"></span>
    <div class="up"></div>
  </div>
  <div id="btn"></div>
  <button id="btnTrg">click me</button>
  <input type="text" class="number" id="num"/>
  <span class="result"></span>
</body>
<script>
  var span1=$(".animate1");
  var span2=$(".animate2");
  var span3=$(".animate3");
  var span4=$(".animate4");
  var span5=$(".animate5");
  var span6=$(".animate6");
  var box=$("#content");
  var btn=$("#btn");
  var btnTrg=$("#btnTrg");
  var input=$("#num");
  var result=$(".result");
  var resultNum=1;
  var ani=[
    function () {
      span1.css({
        background:"red",
        opacity:1
      }).animate({
        left:-300,
        top:-100
      }, function () {
        result.html(resultNum++)
      }).animate({
        left:-50,
        top:-450,
        opacity:0.2
      }, function () {
        $(this).css({
          left:0,
          top:0,
          opacity:0
        })
      })
    },
    function () {
      span2.css({
        background:"blue",
        opacity:1
      }).animate({
        left:-200,
        top:-200
      }, function () {
        result.html(resultNum++)
      }).animate({
        left:-50,
        top:-450,
        opacity:0.2
      }, function () {
        $(this).css({
          left:0,
          top:0,
          opacity:0
        })
      })
    },
    function () {
      span3.css({
        background:"pink",
        opacity:1
      }).animate({
        left:-100,
        top:-300
      }, function () {
        result.html(resultNum++)
      }).animate({
        left:-50,
        top:-450,
        opacity:0.2
      }, function () {
        $(this).css({
          left:0,
          top:0,
          opacity:0
        })
      })
    },
    function () {
      span4.css({
        background:"green",
        opacity:1
      }).animate({
        left:100,
        top:-300
      }, function () {
        result.html(resultNum++)
      }).animate({
        left:50,
        top:-450,
        opacity:0.2
      }, function () {
        $(this).css({
          left:0,
          top:0,
          opacity:0
        })
      })
    },
    function () {
      span5.css({
        background:"orange",
        opacity:1
      }).animate({
        left:200,
        top:-200
      }, function () {
        result.html(resultNum++)
      }).animate({
        left:50,
        top:-450,
        opacity:0.2
      }, function () {
        $(this).css({
          left:0,
          top:0,
          opacity:0
        })
      })
    },
    function () {
      span6.css({
        background:"black",
        opacity:1
      }).animate({
        left:300,
        top:-150
      }, function () {
        result.html(resultNum++)
      }).animate({
        left:50,
        top:-450,
        opacity:0.2
      }, function () {
        $(this).css({
          left:0,
          top:0,
          opacity:0
        })
      })
    }
  ];
  var queue;
  var len=0;
  var flag=0;
  var timer;
  input.on("keyup", function () {
    var result=[];
    var value=input.val();
    len=value;
    if(flag>=len){
      clearInterval(timer);
    }
    if(value<6){
      result =ani.slice(0,value);
      queue=$.queue(box,"animate",result);
    }else if(value>6){
      var num1=Math.floor(value/6);
      var num2=value%6;
      for(var i=0;i<num1;i++){
        result=result.concat(ani);
      }
      result=result.concat(ani.slice(0,num2));
      console.log(result);
      $.queue(box,"animate",result);
    }
  });
  btnTrg.on("click", function () {
    resultNum=0;
    flag=0;
    timer=setInterval(function () {
      flag++;
      console.log(flag);
      $.dequeue(box,"animate");

    },500);
  })
</script>
</html>

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容,感興趣的朋友們自己運(yùn)行操作下會(huì)更容易理解,如果有疑問(wèn)可以留言交流,希望這篇文章對(duì)大家能有所幫助。

相關(guān)文章

  • jQuery移除或禁用html元素點(diǎn)擊事件常用方法小結(jié)

    jQuery移除或禁用html元素點(diǎn)擊事件常用方法小結(jié)

    這篇文章主要介紹了jQuery移除或禁用html元素點(diǎn)擊事件常用方法,結(jié)合實(shí)例形式總結(jié)分析了jQuery針對(duì)onclick事件的禁用與屏蔽技巧,需要的朋友可以參考下
    2017-02-02
  • jQuery針對(duì)各類(lèi)元素操作基礎(chǔ)教程

    jQuery針對(duì)各類(lèi)元素操作基礎(chǔ)教程

    這篇文章主要介紹了jQuery針對(duì)各類(lèi)元素操作基礎(chǔ),包括jQuery基礎(chǔ)操作、選擇要操作的元素及處理DOM元素等,是深入學(xué)習(xí)jQuery所必備的基礎(chǔ)技能,需要的朋友可以參考下
    2014-08-08
  • 談?wù)凧query ajax中success和complete有哪些不同點(diǎn)

    談?wù)凧query ajax中success和complete有哪些不同點(diǎn)

    jquery ajax中success和complete有哪些不同點(diǎn)呢?大家都了解嗎,接下來(lái)通過(guò)本篇文章給大家介紹jquery ajax中success和complete的不同點(diǎn),感興趣的朋友一起學(xué)習(xí)吧
    2015-11-11
  • jQuery中的一些小技巧

    jQuery中的一些小技巧

    本文主要總結(jié)了jQuery中的一些小技巧。具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-01-01
  • jQuery展示表格點(diǎn)擊變色、全選、刪除

    jQuery展示表格點(diǎn)擊變色、全選、刪除

    這篇文章主要為大家詳細(xì)介紹了jQuery展示表格點(diǎn)擊變色、全選、刪除的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • jQuery基于Ajax方式提交表單功能示例

    jQuery基于Ajax方式提交表單功能示例

    這篇文章主要介紹了jQuery基于Ajax方式提交表單功能,結(jié)合實(shí)例形式分析了jQuery使用ajax方式提交表單的具體步驟與常見(jiàn)操作技巧,需要的朋友可以參考下
    2017-02-02
  • asp.net+jquery滾動(dòng)滾動(dòng)條加載數(shù)據(jù)的下拉控件

    asp.net+jquery滾動(dòng)滾動(dòng)條加載數(shù)據(jù)的下拉控件

    由于需求需要用到一個(gè)滾動(dòng)滾動(dòng)條加載數(shù)據(jù)的下拉列表(假如數(shù)據(jù)1000條,下拉列表開(kāi)始只顯示100條,當(dāng)用戶下拉滾到條到最底下時(shí),再加載下一個(gè)100條,如此循環(huán))
    2010-06-06
  • Jquery優(yōu)化效率 提升性能解決方案

    Jquery優(yōu)化效率 提升性能解決方案

    jQuery是目前非常流行的Javascript庫(kù)之一,隨著jQuery應(yīng)用程序的逐漸增多,其性能優(yōu)化問(wèn)題是程序員們不可忽視的,我們知道在jQuery中最快的選擇器是ID選擇器,因?yàn)樗苯觼?lái)自于JavaScript的getElementById()方法。
    2010-09-09
  • 一個(gè)jquery實(shí)現(xiàn)的不錯(cuò)的多行文字圖片滾動(dòng)效果

    一個(gè)jquery實(shí)現(xiàn)的不錯(cuò)的多行文字圖片滾動(dòng)效果

    本節(jié)與大家分享的多行文字圖片滾動(dòng)效果,基于jquery實(shí)現(xiàn),比較實(shí)用,有喜歡的朋友可以收藏下
    2014-09-09
  • jQuery的運(yùn)行機(jī)制和設(shè)計(jì)理念分析

    jQuery的運(yùn)行機(jī)制和設(shè)計(jì)理念分析

    jQuery是一個(gè)非常優(yōu)秀的JavaScript庫(kù),與Prototype,YUI,Mootools等眾多的Js類(lèi)庫(kù)相比,它劍走偏鋒,從Web開(kāi)發(fā)實(shí)用的角度出發(fā),拋除了其它Lib中一些不實(shí)用的東西,為開(kāi)發(fā)者提供了短小精悍的類(lèi)庫(kù)。
    2011-04-04

最新評(píng)論

华坪县| 大方县| 同德县| 阳原县| 淳安县| 开化县| 湘潭市| 蒲江县| 古蔺县| 辉县市| 曲阜市| 璧山县| 文昌市| 蒙阴县| 砀山县| 新巴尔虎右旗| 名山县| 金昌市| 昆明市| 仪陇县| 丹阳市| 波密县| 益阳市| 利川市| 金溪县| 平遥县| 汶川县| 宁武县| 安康市| 双峰县| 喀什市| 磐安县| 淅川县| 文水县| 永嘉县| 荔波县| 静安区| 仙桃市| 博白县| 油尖旺区| 澄迈县|