搜尋
首頁web前端js教程使用 Velocity.js 將動畫加入網頁

使用 Velocity.js 将动画添加到网页

在當今的網頁開發世界中,動畫已成為網站介面不可或缺的一部分。它們有助於增強網站的使用者體驗,在本文中,我們將學習如何利用 Velocity.js 為網頁添加漂亮的動畫。

VelocityJS 是一個 JavaScript 動畫引擎,它為我們提供了一個可以在網頁中使用的非常快速的動畫。它已成為領先的動畫引擎之一,其成功有多種原因。我已經提到了一些最重要的原因,當您決定為您的網頁選擇動畫引擎時,這些原因使其成為一個非常好的選擇。

Velocity.js 的重要功能

下面列出了 Velocity.js 的一些重要功能 -

  • 更好的性能 - 就速度而言,它與CSS 一樣快,並且與主要競爭對手jQuery 相比,它提供了更好的性能,尤其是在移動設備上。曾經,也有人討論過jQuery核心動畫應該被VelocityJS取代的問題。另外,另一個對其有利的要點是 CSS 動畫根本沒有足夠的瀏覽器支持,而 VelocityJS 動畫早在 IE8 就可靠。

  • RunSequence - 將runSequence 視為允許您以連續方式執行一堆動畫的東西,它會產生更好的結果,並且是一種更有效的方法。與通常在 jQuery 動畫中找到的連結多個動畫函數相比,這是一種優雅的方法。

  • 學習曲線 - Velocity.JS 的學習曲線不是很陡峭,因為了解 jQuery 的人可以輕鬆地開始使用它,因為它提供了類似的語法。

現在我們已經了解了 Velocity.JS 的基本概念,讓我們嘗試創建多個不同的動畫,以了解 Velocity.JS 動畫的工作原理。

使用 Velocity.js 加入動畫

我們需要的第一件事是創建一個簡單的 HTML-JS 項目,其中 Velocity.JS 的程式碼將主要編寫在 JavaScript 文件中,HTML 文件將作為我們導入 Velocity 的起點.JS 依賴項。

在您最喜歡的程式碼編輯器或 IDE 中建立名為 index.htmlscript.js 的檔案。考慮下面顯示的命令,它將幫助您創建 index.htmlscript.js 檔案。

touch index.html 
touch script.js

注意 - 如果touch不起作用,那麼您可以使用vi指令。

index.html

建立這兩個檔案後,下一步是將以下程式碼放入您的 index.html 檔案中。

範例

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>Velocity - Examples</title>
</head>
<body>
   <p id="sample-p">
      Lorem ipsum, dolor sit amet consectetur adipisicing elit.
   </p>
   <button id="a-button">
      Click me!
   </button>
   <script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
   <script src="https://cdn.jsdelivr.net/velocity/1.1.0/velocity.min.js"></script>
   <script>
      $('#a-button').click(function() {
         var $element = $("#sample-p");
         $element.velocity({ width: "50px", left: "500px" });
      });
   </script>
</body>
</html>

在上面的程式碼中,您需要專注於幾點,首先是您要確保能夠在程式碼中匯入 Velocity.JS 檔案。我們在上面程式碼的

標記內執行此操作。

考慮下面顯示的程式碼片段。

<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/velocity/1.1.0/velocity.min.js"></script>

這兩行允許我們將 jQuery 和 Velocity.JS 匯入到程式碼中,儘管我們只需要 Velocity.JS,但您可以呼叫匯入其中之一或兩者。由於比較 Velocity 和 jQuery 很有趣,因此我將它們都匯入了。

現在我們要從

標記中選擇一個元素,然後用它來製作一些動畫。考慮下面所示的程式碼片段。
<p id="sample-p">
   Lorem ipsum, dolor sit amet consectetur adipisicing elit. 
</p>
<button id="a-button">
   Click me!
</button>

在上面的程式碼片段中,我們可以看到有兩個不同的

標籤,並且在每個標籤中,我們都有一個與之關聯的 。我們將在 JavaScript 程式碼中使用這些 ID,就像使用這些 id 一樣,我們將能夠取得 Velocity 元素,然後在其上執行動畫。

腳本.js

現在,我們在 script.js 中寫程式了。我們要做的第一件事是使用一個簡單的 Velocity 對象,在其中我們將使用 Velocity.js 為

標籤分配指定的寬度和高度。

考慮下面所示的 script.js 程式碼。

let $element = $("#sample-p");

$element.velocity({ width: "50px", left: "500px" });

在上面的程式碼中,我們指定了我們想要的 $element,它只是指向 HTML 程式碼的

標記,使其具有指定的寬度和高度。

當您執行 HTML 程式碼時,您應該會看到

標記的內容具有指定的寬度和高度。

在上面的例子中,我們確保

標籤內容的寬度變為500px,但是假設在一定的延遲之後,我們想要確保

標籤的寬度或我們的$element 更改為 200px。我們可以藉助下面所示的程式碼來實現相同的目的。

let $element = $("#sample-p");

$element.velocity({ width: "200px" }, { duration: 500, delay: 1000 });

現在,如果我們運行 HTML 文件,那麼在延遲 1 秒鐘後,$element 的寬度將更改為 200px。

使用 Velocity.js 在單一元素上新增多個動畫

到目前為止,在這兩個範例中,我們學習瞭如何使用 Velocity.JS 運行簡單的動畫。現在讓我們專注於我們想要在單個元素上運行多個動畫的部分。

如果我們想要運行多個動畫,我們可以一個一個地運行它們,或者將它們連結起來,這將允許它們按照我們定義連結的順序運行。考慮下面所示的 script.js 程式碼。

let $element = $("#sample-p");
// chaining
$element

   // makes the $element of height of 300px over 1000ms
   .velocity({ height: 400 }, { duration: 1000 })

   /* makes the $element to animate to the left position of 
   200px over 600ms after the width is finished animating */
   .velocity({ top: 200 }, { duration: 600 })

   // fading the element after it's done moving
   .velocity({ opacity: 0 }, { duration: 200 });

在上面的代码中,我们有不同的动画,它们相互链接,这是您在探索更多 Velocity.JS 示例时会发现的更常见的模式之一。

使用 Velocity.js 添加不透明度

现在,我们来讨论一下 Velocity.JS 中的一个常用选项,即 opacity。在下一个示例中,我们将探讨如何在具有不同选项的元素上使用不透明度。

第一个简单的场景是引入带有慢速选项的不透明动画。考虑下面所示的 script.js 代码。

let $element = $("#sample-p");

$element.velocity({ opacity: 0 }, { duration: "slow" });

在上面的代码中,我们确保元素的不透明度达到 0,并且持续时间很慢。

在下一个示例中,我们甚至可以决定希望元素具有 0 不透明度的确切时间延迟。考虑下面所示的 script.js 代码。

let $element = $("#sample-p");

$element.velocity({ opacity: 0 }, { duration: 5000 });

在上面的代码中,我们确保元素的不透明度为 0,持续时间为 5000 毫秒。

一旦特定的动画完成,我们还可以记录 div 的元素和附加属性。考虑下面所示的 script.js 代码。

let $element = $("#sample-p");

// opacity
$element.velocity({
   opacity: 0
}, {
   /* Log all the animated divs. */
   complete: function(elements) { console.log(elements); }
});

在上面的代码中,我们正在打印将打印附加属性的元素以及控制台中的所有元素。

使用 Velocity.js 的循环效果

现在让我们看看如何使用 Velocity.js 获得循环效果。通过循环,我想说的是如何在特定循环中执行特定动画,并且您将可以访问该循环的不同属性,例如要执行循环的次数、延迟时间等等。

让我们从一个非常基本的示例开始。考虑下面所示的 script.js 代码。

let $element = $("#sample-p");

// looping
$element.velocity({ height: "5em" }, { loop: 2 });

在上面的代码中,我们创建了一个动画,使“$element”项目的高度为 5em,并且它将循环运行两次。

现在假设我们想要运行一个类似的示例,但同时我们想要确保当我们循环返回时,我们也应该有一个延迟。考虑下面所示的 script.js 代码。

let $element = $("#sample-p"); 

// looping 
$element.velocity(
   {
      height: "+=10em"
   }, 
    
   { 
      loop: 4, 
        
      /* Wait 300ms before alternating back. */ 
      delay: 300 
   }
);

在上面的代码中,我们创建了一个动画,使“$element”项目的高度为 10em,并且从一个循环返回到另一个循环时它将循环运行四次,延迟 300 毫秒.

使用 Velocity.js 实现淡入淡出效果

现在让我们看看如何使用 Velocity.JS 获得淡入淡出效果。考虑下面所示的 script.js 代码。

let $element = $("#sample-p");

// fading 
$element
   .velocity("fadeIn", { duration: 1500 })
   .velocity("fadeOut", { delay: 500, duration: 1500 });

在上面的代码中,我们使用了 Velocity.JS 中的 fadeIn 和 fadeOut 选项。

结论

在本教程中,我们通过多个示例演示了如何使用 Velocity.JS 在其中添加不同的动画。

以上是使用 Velocity.js 將動畫加入網頁的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:tutorialspoint。如有侵權,請聯絡admin@php.cn刪除
在JavaScript中替換字符串字符在JavaScript中替換字符串字符Mar 11, 2025 am 12:07 AM

JavaScript字符串替換方法詳解及常見問題解答 本文將探討兩種在JavaScript中替換字符串字符的方法:在JavaScript代碼內部替換和在網頁HTML內部替換。 在JavaScript代碼內部替換字符串 最直接的方法是使用replace()方法: str = str.replace("find","replace"); 該方法僅替換第一個匹配項。要替換所有匹配項,需使用正則表達式並添加全局標誌g: str = str.replace(/fi

自定義Google搜索API設置教程自定義Google搜索API設置教程Mar 04, 2025 am 01:06 AM

本教程向您展示瞭如何將自定義的Google搜索API集成到您的博客或網站中,提供了比標準WordPress主題搜索功能更精緻的搜索體驗。 令人驚訝的是簡單!您將能夠將搜索限制為Y

構建您自己的Ajax Web應用程序構建您自己的Ajax Web應用程序Mar 09, 2025 am 12:11 AM

因此,在這裡,您準備好了解所有稱為Ajax的東西。但是,到底是什麼? AJAX一詞是指用於創建動態,交互式Web內容的一系列寬鬆的技術。 Ajax一詞,最初由Jesse J創造

示例顏色json文件示例顏色json文件Mar 03, 2025 am 12:35 AM

本文系列在2017年中期進行了最新信息和新示例。 在此JSON示例中,我們將研究如何使用JSON格式將簡單值存儲在文件中。 使用鍵值對符號,我們可以存儲任何類型的

10個jQuery語法熒光筆10個jQuery語法熒光筆Mar 02, 2025 am 12:32 AM

增強您的代碼演示文稿:10個語法熒光筆針對開發人員在您的網站或博客上共享代碼段的開發人員是開發人員的常見實踐。 選擇合適的語法熒光筆可以顯著提高可讀性和視覺吸引力。 t

8令人驚嘆的jQuery頁面佈局插件8令人驚嘆的jQuery頁面佈局插件Mar 06, 2025 am 12:48 AM

利用輕鬆的網頁佈局:8 ESTISSEL插件jQuery大大簡化了網頁佈局。 本文重點介紹了簡化該過程的八個功能強大的JQuery插件,對於手動網站創建特別有用

10 JavaScript和JQuery MVC教程10 JavaScript和JQuery MVC教程Mar 02, 2025 am 01:16 AM

本文介紹了關於JavaScript和JQuery模型視圖控制器(MVC)框架的10多個教程的精選選擇,非常適合在新的一年中提高您的網絡開發技能。 這些教程涵蓋了來自Foundatio的一系列主題

什麼是這個&#x27;在JavaScript?什麼是這個&#x27;在JavaScript?Mar 04, 2025 am 01:15 AM

核心要點 JavaScript 中的 this 通常指代“擁有”該方法的對象,但具體取決於函數的調用方式。 沒有當前對象時,this 指代全局對象。在 Web 瀏覽器中,它由 window 表示。 調用函數時,this 保持全局對象;但調用對象構造函數或其任何方法時,this 指代對象的實例。 可以使用 call()、apply() 和 bind() 等方法更改 this 的上下文。這些方法使用給定的 this 值和參數調用函數。 JavaScript 是一門優秀的編程語言。幾年前,這句話可

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器