首頁 web前端 H5教程 分段式基于SVG文字超酷创意动画特效

分段式基于SVG文字超酷创意动画特效

May 17, 2016 am 09:01 AM


  简要教程

  这是一款基于segment.js制作的非常有创意的分段式SVG文字动画特效。这个文字动画特效通过动画SVG的描边路径来制作各种文字的动画效果,效果非常的赞。

  这个SVG文字动画特效的第一个DEMO中的最后几个例子使用了mo.js插件,一款由Oleg Solomka编写的用于制作网页图形动画的JavaScript库插件。通过mo.js,可以制作出效果更为震撼的文字动画效果。

  

1065.gif


  特效中使用的字体是exquisite lowercase font,一套极富创意的WEB字体。


  使用方法

  要使用该SVG文字动画特效,要在页面中引入segment.js,它用于动画SVG路径,d3-ease,用于制作easing动画过渡效果,以及letters.js。

<script src="js/segment.js"></script>    
2    <script src="js/d3-ease.v0.6.js"></script>                     
3    <script src="js/letters.js"></script>
登入後複製

 HTML结构

 可以使用一个

容器来包裹需要制作动画效果的文字。

<div class="my-text">my text</div>
登入後複製

初始化插件

  然后我们就可以在JavaScript中获取这个元素,通过配置参数来制作绘制文字的动画。所有的参数选项(除了individualDelays)都可以设置为以下的值:

  • 单个值:可以被所有字母接收。

  • 数组:数组中的第一个元素会被第一个字母接收,第二个元素被第二个字母接收,以此类推。

  下面是一个使用配置参数的例子:

// Selecting the container element    
02    var el = document.querySelector(&#39;.my-text&#39;);    
03    
04    // All the possible options (these are the default values)    
05    // Remember that every option (except individualDelays) can be defined as single value or array    
06    var options = {    
07        size: 100,    // Font size, defined by the height of the letters (pixels)    
08        weight: 1,         // Font weight (pixels)    
09        rounded: false,    // Rounded letter endings    
10        color: &#39;#5F6062&#39;,  // Font color    
11        duration: 1,       // Duration of the animation of each letter (seconds)    
12        delay: [0, 0.05],  // Delay animation among letters (seconds)    
13        fade: 0.5,         // Fade effect duration (seconds)    
14        easing: d3_ease.easeCubicInOut.ease,   // Easing function    
15        individualDelays: false,  
          // If false (default), every letter delay increase gradually, 
          showing letters from left to right always. 
          If you want to show letters in a disorderly way, set it to true, 
          and define different delays for the desired letters.    
16    };    
17    
18    // Initializing the text (Letters parameters: container-element, options)    
19    var myText = new Letters(el, options);
登入後複製


通过上面的配置,我们已经定义了文字显示和动画的选项,插件会在容器中生成SVG文字。默认情况下,文字是被隐藏的,如何触发文字动画,可以参看下面的方法。

// Show letters with the default options defined    
02    myText.show();    
03    
04    // Hide letters with the default options defined    
05    myText.hide();    
06    
07    // Toggle letters with the default options defined    
08    myText.toggle();    
09    
10    // An example with all the possible options for triggers    
11    // Parameters (JSON): duration, delay, fade, easing, individualDelays, callback    
12    var newOptions = {    
13        duration: 2,    
14        delay: 0.2,    
15        fade: 1,    
16        easing: d3_ease.easeCircleInOut.ease,    
17        individualDelays: false,    
18        callback: function(){    
19            myText.hide();    
20        }    
21    };    
22    // These new options will override the options defined in the initialization    
23    myText.show(newOptions);    
24    
25    // Show letters instantly, without any animation at all    
26    // There is a hideInstantly and toggleInstantly function, too    
27    myText.showInstantly();  // Shortcut for myText.show(0, 0, 0);
登入後複製

每一个SVG字母都被分配一个letter class类,例如:letter-(a, b, c, ...),以及letter-(1, 2, 3, ...)。通过这些class我们可以自定义字母的样式,例如设置margin值或定位方式等。

/* Setting margin among all letters */    
2    .letter {    
3      margin: 0 10px;    
4    }    
5    
6    /* Setting background to letter m */    
7    .letter-m {    
8      background-color: lightsalmon;    
9    }
登入後複製

以上就是分段式基于SVG文字超酷创意动画特效的内容,更多相关内容请关注PHP中文网(www.php.cn)!


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

聊聊如何利用 SVG 實現圖片馬賽克效果 聊聊如何利用 SVG 實現圖片馬賽克效果 Sep 01, 2022 am 11:05 AM

不借助 Javascript,如何利用 SVG 實現圖片馬賽克效果?下面這篇文章就來帶大家詳細了解一下,希望對大家有幫助!

svg怎麼轉jpg格式 svg怎麼轉jpg格式 Nov 24, 2023 am 09:50 AM

svg可以透過使用影像處理軟體、使用線上轉換工具和使用Python影像處理庫的方法來轉jpg格式。詳細介紹:1.影像處理軟體包括Adobe Illustrator、Inkscape和GIMP;2、線上轉換工具包括CloudConvert、Zamzar、Online Convert等;3、Python影像處理庫等等。

深入淺析vue3+vite中怎麼使用svg圖標 深入淺析vue3+vite中怎麼使用svg圖標 Apr 28, 2022 am 10:48 AM

svg圖片在專案中使用的非常廣泛,以下這篇文章帶大家介紹如何在vue3 + vite 中使用svg圖標,希望對大家有所幫助!

VUE3入門教學:使用Vue.js外掛程式玩SVG VUE3入門教學:使用Vue.js外掛程式玩SVG Jun 16, 2023 am 09:48 AM

隨著現代Web前端開發的不斷發展,越來越多的技術被廣泛應用於實際開發中。其中,Vue.js是目前最受歡迎的JavaScript框架之一,它基於MVVM模式,提供了豐富的API和元件庫,使得開發響應式、可重複使用、高效的Web應用變得更加容易。而目前最新的Vue.js3版本相較於舊版,又有著更好的性能和更豐富的特性,引起了廣泛的關注和研究。本文將會為大家介紹一種

詳解用SVG為 favicon 新增標識 詳解用SVG為 favicon 新增標識 Sep 07, 2022 am 10:30 AM

怎麼使用SVG為 favicon 新增標識?以下這篇文章為大家介紹一下使用 SVG 產生帶有標識的 favicon的方法,希望對大家有幫助!

vue3+vite2中怎麼使用svg方法 vue3+vite2中怎麼使用svg方法 May 11, 2023 pm 05:55 PM

一、安裝vite-plugin-svg-icons此處還需要安裝下fast-glob相關依賴,不然vite運行npmrundev時會報Cannotfindmodule'fast-glob'的錯誤npmifast-glob@3.x-Dnpmivite-plugin-svg -icons@2.x-D二、在src/components/svgIcon下新建元件index.vueimport{computed}from'vue';cons

vue3+vue-cli4中怎麼使用svg vue3+vue-cli4中怎麼使用svg May 11, 2023 pm 05:58 PM

一、安裝svg-sprite-loadernpminstallsvg-sprite-loader--save-dev二、在src/components/svgIcon下新建元件index.vueimport{computed}from"@vue/reactivity";exportdefault{name:"baseSvgIcon", props:{iconClass:{type:String},className:{type:String},},setup

在HTML5畫布上繪製SVG文件 在HTML5畫布上繪製SVG文件 Sep 15, 2023 pm 03:09 PM

要在畫布元素上繪製HTMLImageElements,請使用drawImage()方法。此方法使用src=”mySVG.svg”定義一個Image變量,並在載入時使用drawImage。 varmyImg=newImage();myImg.onload=function(){  ctx.drawImage(myImg,0,0);}img.src="http://www.example.com/files/sample.svg";

See all articles