jQuery animate動畫精講

2021-02-18 HTML5 WEB前端分享

HTML5學堂:animate是jQuery中很好用的一個方法,用於實現自定義動畫。對於animate方法是有不同的書寫方法的,今天我們就來說說animate平時不太常用的一些用法。

如何支持「背景顏色」

animate方法,能夠支持單位為數值(px、em、%)的CSS屬性,對於背景顏色的變化,animate是不支持的。但是我們有時也希望顏色能夠發生變化,此時,我們可以使用一個jQuery插件——jQuery.Color()。點擊此處可下載——jQuery.Color插件(訪問密碼:236d)

<!doctype html>

<html>

<head>

<meta charset="UTF-8">

<title>HTML5學堂 - jQuery animate</title>

<link rel="stylesheet" href="model/css/reset.css">

<script src="model/js/jquery-1.11.2.js"></script>

<script src="model/js/jquery.color.js"></script>

<style>

.btn {

height: 50px;

line-height: 50px;

font-size: 32px;

}

.wrap {

width: 400px;

height: 50px;

background: #39f;

color: #fff;

font-size: 32px;

font-weight: bold;

text-align: center;

line-height: 50px;

}

</style>

</head>

<body>

<div>點擊此處</div>

<div>HTML5學堂</div>

<script>

$(".btn").click(function(){

$(".wrap").animate({

"background-color" : "#999"

}, 1000)

});

</script>

</body>

</html>


animate動畫中的變量應用

jQuery的動畫屬性animate,除了能夠設置基本的數值之外,還可以設置相對的值。如果一個值提供了一個+=和 -=操作符號,那麼目標值 = 當前的值 + 或 - 給定的值。

代碼示例:

<!doctype html>

<html>

<head>

<meta charset="UTF-8">

<title>HTML5學堂 - jQuery animate</title>

<link rel="stylesheet" href="model/css/reset.css">

<script src="model/js/jquery-1.11.2.js"></script>

<style>

.btn {

height: 50px;

line-height: 50px;

font-size: 32px;

}

.wrap {

width: 400px;

height: 50px;

background: #39f;

color: #fff;

font-size: 32px;

font-weight: bold;

text-align: center;

line-height: 50px;

}

</style>

</head>

<body>

<div>點擊此處</div>

<div>HTML5學堂</div>

<script>

$(".btn").click(function(){

$(".wrap").animate({

"width" : "+=100px"

}, 1000)

});

</script>

</body>

</html>


animate動畫中的特殊屬性值

jQuery的animate方法當中,對於屬性的屬性值設置,除了使用數值之外,還可以考慮「show」、「hide」、「toggle」。個人認為,這三種方法的優勢在於,對於需要隱藏或顯示此類的特效,能夠具備較好的擴展性。換句話說,對於一個元素,如果初始狀態是寬度400像素,希望能夠點擊之後寬度變化為0,再點擊某處寬度恢復。我們可以使用animate({"width" : "0px"});和animate({"width" : "400px"});來處理。但是,如果此時當前元素的初始寬度並不是400,而是600像素,那麼上面這段代碼就變得沒有「擴展性」了。雖然我們的確可以使用變量替換掉常量,再使用.css()方法獲取當前元素的樣式,但是也可以通過上面提到的「toggle」等特殊屬性值進行控制。

<!doctype html>

<html>

<head>

<meta charset="UTF-8">

<title>HTML5學堂 - jQuery animate</title>

<link rel="stylesheet" href="model/css/reset.css">

<script src="model/js/jquery-1.11.2.js"></script>

<style>

.btn {

height: 50px;

line-height: 50px;

font-size: 32px;

}

.wrap {

width: 400px;

height: 50px;

background: #39f;

color: #fff;

font-size: 32px;

font-weight: bold;

text-align: center;

line-height: 50px;

}

</style>

</head>

<body>

<div>點擊此處</div>

<div>HTML5學堂</div>

<script>

$(".btn").click(function(){

$(".wrap").animate({

"width" : "toggle"

}, 1000)

});

</script>

</body>

</html>


鏈式動畫

我們能夠使用animate實現多個動畫,但是如何讓一個一個的動畫有順序的執行呢?此處會使用到queue這個屬性設置。queue表示是否在效果隊列中放置動畫(即,是否形成一個鏈式動畫)。如果queue的值為false,則動畫立即開始,如果為queue的值設置為true,則表示是鏈式動畫。默認為true(鏈式)。

個人認為,並沒有太大的必要,因為默認的就是鏈式動畫,如果希望同時變化,完全可以寫在一個animate當中。

歡迎溝通交流~HTML5學堂



相關焦點

  • Animate自定義動畫
  • jquery mootools - CSDN
    <script type="text/javascript" src="moo1.2.4.js"></script><script type="text/javascript" src="jquery-1.4.js"></script><script type
  • 每個程式設計師都會的 35 個 jQuery 小技巧
    和 scrollTop 來實現返回頂部的動畫,而不需要使用其他插件。 $('a.top').click(function () {   $(document.body).animate({scrollTop: 0}, 800);   return false; }); <!
  • jQuery動畫相關函數|精選博客
    (註:默認值: "normal", 三種預定速度的字符串("slow", "normal", 或 "fast")或表示動畫時長的毫秒數值(如:1000) )easing (默認: swing)類型: String一個字符串,表示過渡使用哪種緩動函數。complete類型: Function()在動畫完成時執行的函數。
  • jQuery(三)事件以及動畫
    easing],[fn]) 顯示和隱藏HTML元素,裡面有三個參數speed:速度,可選擇'slow'(慢),'normal'(正常『默認』),or'fast'(快),或者用毫秒(如:1000);easing:效果,'swing'(快慢快'默認'),可用參數'linear'(勻速);fn:回調函數:動畫完成後執行的函數
  • Jquery >>> 002
    :hidden以前講過了,這裡就不在重複了。表單屬性選擇器:enabled  獲取所有可用元素以前我們也講過,不過這是DOM方法,不是選擇器,這個也是需要進行學習的,方法可以實現連寫。filter(表達式) 篩選出與指定表達式匹配的元素集合。案例1:表達式為1個參數。這個方法用於縮小匹配的範圍。
  • jQuery(一)選擇器
    它封裝JavaScript常用的功能代碼,提供一種簡便的JavaScript設計模式,優化HTML文檔操作、事件處理、動畫設計和Ajax交互。1.2 jQuery的引用:    1.可以通過官網下載jquery.min.js,接著引用
  • 上海首家animate獨立門店落戶大學路
    上海首家animate獨立門店落戶大學路來源:聯商網2020-05-08 16:13聯商網消息:4月25日,上海首家animate獨立門店在大學路288號正式開業。如《海賊王》、《名偵探柯南》、《刀劍神域》、《路人女主》、《鬼滅之刃》、《Re:從零開始的異世界生活》、國產動畫《狐妖小紅娘》《一人之下》《全職高手》,以及《BanG Dream!》《夏目友人帳》的各種周邊、複製原畫和手辦等,以及日本扭蛋機專區。
  • JQuery高級
    參數:            1. speed: 動畫的速度。三個預定義的值("slow","normal", "fast")或表示動滑時長的毫秒值(如1000)          2. easing:用來指定切換效果,默認是"swing",可用參數"linear" * swing: 動滑執行時效果是 先慢, 中間快, 最後又慢 * linear:動畫執行時是勻速的 3. fn
  • 上海首家animate獨立門店人氣爆棚!超3000款周邊商品,有貨架被掃空
    沿著大學路走走走,就看到了animate門店,門口是顯目的《公主連結Re:Dive》活動海報,店內播放著動漫音樂。不少路過的行人都被吸引了,「前些日子還沒看到有這家店,看這裡周邊蠻多的,進去看看。」這家animate門店面積約200平米,超100個IP作品的3000款周邊商品正在販售中。
  • 上海首家animate門店在大學路開業!帶你探訪動漫的世界
    上海首家animate和超電合作的獨立門店,日前在大學路288號正式開業。這是上海唯一一家擁有獨立門店的animate店鋪,也是中國大陸的4家animate中佔地面積最大的門店。夜幕降臨的大學路開始熱鬧起來,位於大學路288號的animate店門口亮起藍白色的燈光。
  • jQuery 選擇器
    不過,把它們放到一個單獨的文件中會更好,就像這樣(通過 src 屬性來引用文件):實例<head> <scriptsrc="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" rel="external nofollow" > </script
  • JQuery總結:選擇器歸納、DOM遍歷和事件處理、DOM完全操作和動畫
    JQuery總結三:DOM完全操作和動畫特性和屬性方法說明.attr(key)取得特性key的值.attr(key,value)設置特性key的值為value.attr(key,fn)將fn的返回值作為key的值.attr(obj)根據傳入的鍵值對象參數設置特性的值.removeAttr(key)刪除特性
  • 從0到1~jQuery入門基礎(t286-t305)
    /js/jquery-3.5.1.js"></script> <script> $(function () { $("#wrapper").hover(function () { $(this).find(".select").css("color","blue");
  • 純CSS實現簡單骨骼動畫
    註:此處加快了動畫的速度和擺動的幅度。於是拿起工卡開始擺動,看看現實中的擺動效果是咋樣的,最後豁然開朗:原來現實中的心願牌(和工卡同理)在受力的時候,並不會整體擺動,而是會根據節點位置分成幾部分有關聯地擺動,這其實是個簡單的骨骼動畫!那到底怎麼去實現呢?骨骼動畫▼關於前端骨骼動畫的實現可以參考《骨骼動畫原理與前端實現淺談》,裡面簡單提及了css和canvas兩種實現方式。
  • Animate如何製作閃爍的文字動畫
    關鍵幀動畫在Flash或者Animate軟體中比較常用,這裡講一下使用關鍵幀動畫製作閃爍文字動畫的過程。4.在舞臺上單擊滑鼠後,放置一個文本框,並輸入文本5.使用滑鼠單擊時間軸第2幀,右鍵選擇插入關鍵幀,也可以使用快捷鍵F66.選擇舞臺中的文本後,調整文本的顏色為其它顏色7.同樣,再添加兩個關鍵幀,並改變文本的顏色8.為了讓動畫明顯一些
  • jQuery - AJAX post() 方法
    DOCTYPE html><html><head><meta charset="utf-8"><title>菜鳥教程(runoob.com)</title><script src="https://cdn.staticfile.org/jquery/1.10.2
  • 要實現60FPS動畫, 你需要了解這些
    , 並且卡頓結束會跳幀, 而不是基於卡頓前的位置繼續繪製動畫@keyframes animate { from { transform: translateX(0px); } to { transform: translateX(400px); }}觀察性能圖, 主線程完全空閒了!!
  • jquery 簡單使用和發送 ajax 異步請求
    jquery 的簡單使用。需要引入 js 文件。
  • 創造生動有趣的動畫,Matplotlib庫大顯身手
    動畫Matplotlib的動畫基類負責處理動畫部分。其可提供構建動畫功能的框架。有兩個主要接口來實現此功能:FuncAnimation:通過反覆觸發func.功能創建動畫。ArtistAnimation:利用已定義的Artist對象創建動畫。但是,在上述兩種接口中,FuncAnimation更為方便。