• 技术文章 >web前端 >H5教程

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

    PHP中文网PHP中文网2016-05-17 09:01:09原创1020
      简要教程

      这是一款基于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('.my-text');    
    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: '#5F6062',  // 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中文网(m.sbmmt.com)!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:一款超炫3D旋转立方体动画特效 下一篇:2016年度——React.js 最佳实践
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• HTML 5可以做五件事情 超出你的想象• HTML5 的普及需要具备哪些因素?• HTML5中canvas的使用总结• Html5 Canvas初探学习笔记(3) -绘制样式和绘制文本 • Html5 Canvas初探学习笔记(13) -图片变换
    1/1

    PHP中文网