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

    基于mo.js制作的17种炫酷图标动画特效

    PHP中文网PHP中文网2016-05-17 09:07:00原创1278
      基于mo.js制作的17种炫酷图标动画特效

    简要教程

      这是一款基于mo.js制作的一组炫酷图标动画特效。这组图标动画共有17种效果,它们使用font-awesome作为图标,采用SVG技术,在用户点击图标时产生各种炫酷的图标动画特效。

      mo.js是Oleg Solomka开发的一款图形动画javascript库。通过它你可以制作出非常有趣的图形动画效果。


      使用方法

      HTML结构

      图标的HTML结构使用一个按钮来包裹一个Font Awesome图标。

    <button class="icobutton icobutton--thumbs-up">
      <span class="fa fa-thumbs-up"></span>
    </button>

      制作图标动画

      然后你就可以通过mo.js提供的方法来制作动画特效。


    var el = document.querySelector('.icobutton'),
      elSpan = el.querySelector('span'),
      // mo.js timeline obj
      timeline = new mojs.Timeline(),
     
      // tweens for the animation:
     
      // burst animation
      tween1 = new mojs.Burst({
        parent: el,
        duration: 1500,
        shape : 'circle',
        fill : [ '#988ADE', '#DE8AA0', '#8AAEDE', '#8ADEAD', '#DEC58A', '#8AD1DE' ],
        x: '50%',
        y: '50%',
        opacity: 0.6,
        childOptions: { radius: {20:0} },
        radius: {40:120},
        count: 6,
        isSwirl: true,
        isRunLess: true,
        easing: mojs.easing.bezier(0.1, 1, 0.3, 1)
      }),
      // ring animation
      tween2 = new mojs.Transit({
        parent: el,
        duration: 750,
        type: 'circle',
        radius: {0: 50},
        fill: 'transparent',
        stroke: '#988ADE',
        strokeWidth: {15:0},
        opacity: 0.6,
        x: '50%',     
        y: '50%',
        isRunLess: true,
        easing: mojs.easing.bezier(0, 1, 0.5, 1)
      }),
      // icon scale animation
      tween3 = new mojs.Tween({
        duration : 900,
        onUpdate: function(progress) {
          var scaleProgress = scaleCurve4(progress);
          elSpan.style.WebkitTransform = elSpan.style.transform 
                = 'scale3d(' + scaleProgress + ',' + scaleProgress + ',1)';
        }
      });
     
    // add tweens to timeline:
    timeline.add(tween1, tween2, tween3);
     
    // when clicking the button start the timeline/animation:
    el.addEventListener('mouseenter', function() {
      timeline.start();
    });


      关于mo.js的详细使用方法,你可以参考它的官方网站:mo.js


    以上就是基于mo.js制作的17种炫酷图标动画特效的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:AngularJS中使用HTML5摄像头拍照 下一篇:基于轻量级高性能的CSS3动画库

    相关文章推荐

    • html5离线存储有哪些• h5新增标签audio与video的使用• 深入解析asp.net中mvc4自定义404页面(分享)• html5新增了什么• 你值得了解的HTTP缓存机制(代码详解)

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网