国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

利用jQuery的動畫函數animate實現豌豆發射效果

2019-11-20 09:08:17
字體:
來源:轉載
供稿:網友

先來看看效果圖

豌豆射手,草坪還有子彈都是現成的圖片,

1. jQuery是庫還是框架?

jQuery可以說是現在最流行的一個js類庫,而非框架。

之前在知乎上看到有人說了這樣一句話:

You call library. Framework calls you.

我深以為然,字面意思大概就是你可以無約束地使用類庫,卻需要在各種限制條件下使用一個框架。

我私以為,js 庫指的是直接和document文檔元素交互的一個API,你可以直接引用庫,讓它為你服務。而框架是偏向于架構的層次,你如果想要使用框架,就必須按照它的規則來。比如angular.js,它就給你提供方法的同時還約束了dom文檔結構。

拿Java的三大框架來說,也是如此,你要想使用Spring,就得按照它的步驟來,就好像一個房子,鋼筋水泥已經弄好,你只需要進去裝修就OK了。而庫,就有點類似于StringUtils的韻味,除了它暴露出來的接口,其他你都無需關心,直接調用就行了。

2. jQuery的animate函數

animate()函數用于執行一個基于css屬性的自定義動畫

基本用法:

$('#id').animate(css,time,callback);

     css : 你需要最終實現的樣式列表

     time: 過渡的時間

     callback: 回調函數

animate函數的作用主要就是實現一些css樣式的過渡效果。

3.引入 jQuery

比如,現在我有一個div盒子。

<!DOCTYPE html><html> <head>  <meta charset="UTF-8">  <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>  <style type="text/css">   #box {    width: 300px;    height: 300px;    background:greenyellow;   }  </style> </head> <body>  <div id='box'></div> </body> <script> </script></html>

在上面的代碼中,我們引入了百度提供的jQuery文件。

那么如何快速判斷是否引入成功了呢?提供以下幾個方法:

1.console.log($);

效果:


這說明引入成功了。

2.直接用瀏覽器驗證

打開你的頁面,按一下F12,出現這樣的控制臺,這是瀏覽器自帶的(我這里使用的是谷歌瀏覽器)。

輸入$


回車!


誒,這樣是不是也可以呢?

4. onmouseover事件

我們來給div盒子添加一個鼠標劃上去的事件。

$('#box').on('mouseover',function(){ alert();});

劃上去:


嗯,最起碼,這說明我們到目前為止的代碼都是正確的,我初學js的時候就喜歡這樣,讓我感覺每一行代碼都寫得很放心。

5.用animate函數改變盒子寬度和高度

我們把alert去掉,加上下面的代碼:

$('#box').on('mouseover',function(){ $('#box').animate({width:600},500);});

這表示當我把鼠標畫上去的時候,就改變寬度為600px,過渡時間為500毫秒。


如果我們希望在寬度加倍后,令高度也加倍,又該如何做呢?

對了,用回調函數,當第一個動畫執行完畢,就繼續執行下一個動畫:

$('#box').on('mouseover',function(){ $('#box').animate({width:600},500,function(){  $('#box').animate({height:600},500); });});


這樣就有了一個先后順序。

本文簡單地介紹了一下jQuery animate函數的使用。

6. 附錄

最后,附上一開始案例的代碼,除了animate函數,還用到了js的定時器setInterval方法:

<!DOCTYPE html><html> <head>  <meta charset="UTF-8" />  <script type="text/javascript" src="jquery-1.11.2.min.js"></script>  <style type="text/css">   body {    background: url(background1.jpg) no-repeat;    position: fixed;   }   ul li {    list-style: none;   }   .wrap {    position: relative;    left: 170px;    top: 65px;   }   .plants1 {    display: inline-block;    position: relative;    left:35px;   }   .plants1 .plant {    position: relative;    margin-bottom:20px;   }   .plants1 .plant .PB00 {    position: absolute;    top:-2px;    left:15px;   }   .plants2 {    display: inline-block;    position: relative;    left:2px;   }   .plants2 .plant {    position: relative;    margin-bottom:20px;   }   .plants2 .plant .PB00 {    position: absolute;    top:-2px;    left:15px;   }   .plants3 {    display: inline-block;    position: relative;    left:-40px;   }   .plants3 .plant {    position: relative;    margin-bottom:20px;   }   .plants3 .plant .PB00 {    position: absolute;    top:-2px;    left:15px;   }  </style> </head> <body>  <div class='wrap'>   <ul class='plants1'>    <li class='plant'>     <img class='Peashooter' src="img/Peashooter.gif" />     <img class='PB00' src="img/PB00.gif" />    </li>    <li class='plant'>     <img class='Peashooter' src="img/Peashooter.gif" />     <img class='PB00' src="img/PB00.gif" />    </li>    <li class='plant'>     <img class='Peashooter' src="img/Peashooter.gif" />     <img class='PB00' src="img/PB00.gif" />    </li>    <li class='plant'>     <img class='Peashooter' src="img/Peashooter.gif" />     <img class='PB00' src="img/PB00.gif" />    </li>    <li class='plant'>     <img class='Peashooter' src="img/Peashooter.gif" />     <img class='PB00' src="img/PB00.gif" />    </li>   </ul>   <ul class='plants2'>    <li class='plant'>     <img class='Peashooter' src="img/Peashooter.gif" />     <img class='PB00' src="img/PB00.gif" />    </li>    <li class='plant'>     <img class='Peashooter' src="img/Peashooter.gif" />     <img class='PB00' src="img/PB00.gif" />    </li>    <li class='plant'>     <img class='Peashooter' src="img/Peashooter.gif" />     <img class='PB00' src="img/PB00.gif" />    </li>    <li class='plant'>     <img class='Peashooter' src="img/Peashooter.gif" />     <img class='PB00' src="img/PB00.gif" />    </li>    <li class='plant'>     <img class='Peashooter' src="img/Peashooter.gif" />     <img class='PB00' src="img/PB00.gif" />    </li>   </ul>   <ul class='plants3'>    <li class='plant'>     <img class='Peashooter' src="img/Peashooter.gif" />     <img class='PB00' src="img/PB00.gif" />    </li>    <li class='plant'>     <img class='Peashooter' src="img/Peashooter.gif" />     <img class='PB00' src="img/PB00.gif" />    </li>    <li class='plant'>     <img class='Peashooter' src="img/Peashooter.gif" />     <img class='PB00' src="img/PB00.gif" />    </li>    <li class='plant'>     <img class='Peashooter' src="img/Peashooter.gif" />     <img class='PB00' src="img/PB00.gif" />    </li>    <li class='plant'>     <img class='Peashooter' src="img/Peashooter.gif" />     <img class='PB00' src="img/PB00.gif" />    </li>   </ul>  </div> </body> <script type="text/javascript">  function randomNum(num){   return Math.floor(Math.random()*(num+1));  };  setInterval(function(){   var $this = $('.PB00').eq(randomNum(17));   $this.animate({'margin-left' : 1000},2000,function(){    $this.css({'margin-left' : 0});   });  },10); </script> </html>

總結

以上就是這篇文章的全部內容,希望對大家的學習和工作能有所幫助。如果有疑問可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 林口县| 安仁县| 北流市| 林口县| 白山市| 郸城县| 博湖县| 广德县| 万山特区| 枞阳县| 洞口县| 华亭县| 丰宁| 商洛市| 正安县| 凭祥市| 临西县| 谢通门县| 云阳县| 梓潼县| 阳新县| 札达县| 海城市| 汝城县| 保靖县| 崇左市| 连平县| 东莞市| 东乡县| 兰考县| 岑巩县| 米林县| 屏南县| 彩票| 平罗县| 塔河县| 方城县| 昭通市| 双峰县| 龙南县| 康平县|