当前位置:首页如何使用SVG生成超酷的页面预加载素描动画效果 举报文章

如何使用SVG生成超酷的页面预加载素描动画效果

作者:admin    来源:用户投稿    时间:2015.6.11   

  1 SVG简介

  可缩放矢量图形是基于可扩展标记语言(标准通用标记语言的子集),用于描述二维矢量图形的一种图形格式。它由维网联盟制定,是一个开放标准。

  2 SVG的特点

  与其他图像格式相比(比如 JPEG 和 GIF),使用 SVG 的优势在于:

  SVG 图像可通过文本编辑器来创建和修改

  SVG 图像可被搜索、索引、脚本化或压缩

  SVG 是可伸缩的

  SVG 图像可在任何的分辨率下被高质量地打印

  SVG 可在图像质量不下降的情况下被放大

  3 浏览器支持

  Internet Explorer 9、Firefox、Opera、Chrome 以及 Safari 支持内联 SVG。Internet Explorer 8或更早版本,可通过安装Adobe SVG Viewer以支持SVG。

  4 SVG 标签

  SVG 代 码以 元素开始,包括开启标签 和关闭标签 。这是根元素。 width 和 height 属性可设置此 SVG 文档的宽度和高度。version 属性可定义所使用的 SVG 版本,xmlns 属性可定 义 SVG 命名空间。

  5 SVG 制作素描线动画举例

  1)首先画一条素描线 如图:

  

  素描线的参数可以使用工具生成,

  2)SVG实现素描的动画及原理

  stroke-dasharray = "100 10" stroke-dashoffset = "0"

  stroke-dasharray定义了生成线段长度,及其线段和线段之间的缝隙 ,这里包含两个参数

  stroke-dashoffset定义了从那个位置开始渲染生成线段

  3)使用CSS3来实现素描动画效果

  /*定义keyframe动画*/ /* 添加动画到path元素 */ .path{ stroke-dasharray: 265.07; stroke-dashoffset: 265.07; animation: dash 3s linear infinite; /* 支持chrome */ -webkit-animation: dash 3s linear infinite; } @keyframes dash{ from{ stroke-dashoffset: 265.07; /* 这里是svg图形中素描线长度,可以使用js获取 */ } to{ stroke-dashoffset: 0; } } /* 支持chrome浏览器 */ @-webkit-keyframes dash{ from{ stroke-dashoffset: 265.07; /* 这里是svg图形中素描线长度,可以使用js获取 */ } to{ stroke-dashoffset: 0; } }

  4)使用javascript来调节动画效果的参数

  /*定义相关javascript*/ var current_frame, //定义当前帧 total_frames, //定义全部帧数 path, //定义svg中的唯一path元素 length, //定义path所生成的素描长度 handle; //定义javascript动画句柄 path = document.getElementById('path'), length = path.getTotalLength(); //定义初始化方法 var init = function(){ current_frame = 0; total_frames = 160; path.style.strokeDasharray = length + ' ' + length; //定义dasharray path.style.strokeDashoffset = length; //定义dashoffset handle = 0; } //定义实际的动画绘制方法 var draw = function(){ var progress = current_frame/total_frames; if(progress>1){ //这里定义完成动画 window.cancelAnimationFrame(handle); }else{//否则使用reqeuestAnimationFrame来生成动画 current_frame++; path.style.strokeDashoffset = Math.floor(length*(1 - progress)); handle = window.requestAnimationFrame(draw); } } //定义一个重新运行方法 var rerun = function(){ init(); draw(); } //页面加载即运行 rerun();

  这里主要定义初始化方法和动画绘制的方法,window.requestAnimationFrame(draw);

  来生成动画。

  5)我们选用极客标签的logo,作为原始图片,坐标参数用 Inkscape 工具生成。

  

  当运行动画绘制程序的时候,各条线安装设定的方式进行绘制,我们就看到非常酷的预加载动画了。

好文打赏,给Ta鼓励
扫一扫用手机阅读本文
Tags:如何  使用  生成  超酷  页面  加载  素描  动画  效果  
  • 相关搜索
图片推荐
    ?事件营销,难道只能露胸或撕逼这样low?

    ?事件营销,难道只能露胸或撕逼这样low?

    事件营销中一个非常重要的因素就是流量为王。常用手法----'撕逼',比如神州撕Uber,如果不是明星'代言',也不会有那么多人在乎你是蜀黍还是蜀黎吧,毕竟名人都是自带流量。  前言  事件营销  一个
    淘宝客引流/微信引流的思路分析和技巧分享

    淘宝客引流/微信引流的思路分析和技巧分享

    大家好,我是前锋。抱歉,最近都比较忙,没有和大家交流机会。今天跟大家分享一个引流的技巧和关于淘宝客的干货。引流的方法和技术有很多种,只要抓住一个小模块,做精了就很牛!  我最擅长的是淘宝引流和微信淘宝
    阿里巴巴O2O“造节”梦做的早了些?

    阿里巴巴O2O“造节”梦做的早了些?

    去年,3.8生活节:声势浩大、剑指消费  去年,阿里巴巴邀请当红韩国明星李敏镐代言,疯狂宣传,随处可见3.8生活节的广告,其广告主要集中在餐厅就餐3.8折、KTV欢唱3.8元、电影票3.8元、与零售继
    未来实体超市将消失:电商冲击传统超市零售领域

    未来实体超市将消失:电商冲击传统超市零售领域

    春节将至,又到了采购年货的时间,这段时间市民的购买力比较强,当然最常去的地方就是各大超市了。比如:沃尔玛、大润发、世纪华联等大型超市,与其他实体零售行业一样。传统超市行业也受到了电商的冲击,当然主要就
    从首选投资人处获得700万美元A轮融资 我们只用了七步

    从首选投资人处获得700万美元A轮融资 我们只用了七步

    毫无疑问,融资难,难如上青天,相信每一个经历过的人都会对这句话深有体会。从某种程度上来说,这不全是一件坏事。融资的过程不仅会使创业者更加坚韧不拔,也能一盆冷水浇灭他们不切实际的想法,把他们拉回到现实中
    网易CEO丁磊谈幸福:钱连5%的作用都起不到

    网易CEO丁磊谈幸福:钱连5%的作用都起不到

    钱不是万能的,但没有钱是万万不能的。你觉得钱对于幸福能占多大的比重?  近日,网易CEO丁磊接受一条视频采访时,谈到了金钱和幸福的关系,身家1250亿的他表示,对自己来说,钱占的比例可能5%都不到。当
    《2015年中国网络版权保护年度报告》发布

    《2015年中国网络版权保护年度报告》发布

    [摘要]我国网络版权环境明显好转;与网络版权纠纷相关的互联网行业竞争规则在实践和司法审判中日渐明晰。  腾讯科技讯 2016年4月26日,中国信息通信研究院发布了《2015年中国网络版权保护年度报告》
    怎么促进百度蜘蛛加速新站收录

    怎么促进百度蜘蛛加速新站收录

    随着网络时代的降临,越来越多的个人站长争相加入SEO的行列,建站初期总会去网上搜集一些促进网站收录的话题,有人说做个外链好,自己也跟着做了, 有人说写个原创好,自己还是跟着做了,最根本的还是网站内容却
你是怎么知道非凡网赚网的?
  •   
  • 联系QQ 邮箱:976382653@qq.com 微信:976382653
    在线留言
    发布软文
    广告自助购
    文章调用
    常见问题
    保存到桌面