当前位置:首页如何使用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:如何  使用  生成  超酷  页面  加载  素描  动画  效果  
  • 相关搜索
图片推荐
    为了打动女人 这12条广告语比男朋友还用心

    为了打动女人 这12条广告语比男朋友还用心

    欣赏一下女性品牌做的广告,你会发现泡妞和做广告其实是一样一样的,无非是:知道你是谁(大写加粗的产品特性),了解她的特点(共性是通用型基础诉求,特性是差异化竞争的市场细分),给她她的梦幻(使用场景和心态
    联通非实名用户9月6日起被限制缴费:将间接停机

    联通非实名用户9月6日起被限制缴费:将间接停机

    联通非实名用户9月6日起被限制缴费:将间接停机  【TechWeb报道】9月2日消息,昨日是手机实名登记制度实行第一天,有运营商对媒体表示,所谓未实名登记就将强制停机的情况暂未出现。  目前,虽然联通
    医美骗贷15亿大狂欢:大巴车拉农妇套现 中介勾结医院

    医美骗贷15亿大狂欢:大巴车拉农妇套现 中介勾结医院

    摘要:这场闹剧中,每个角色都如此鲜明:为融资急速做大的平台;为利益而疯狂勾结的中介、医院和内鬼;为蝇头小利就失去底线的套现用户    2016年,消费金融变得炙手可热,而医美分期,是其中最为火热的分支
    网站推广益人才能利己 一条外链引发的思考

    网站推广益人才能利己 一条外链引发的思考

    晚上闲来无事,查了下自己博客的百度DOMAIN数据,居然发现有一条百度文库的纯文本外链,我自己从来没做过百度文库的。怎么回事,难道是百度又出错了吗?  我好奇心地点击进入查看,百度没有出错,是一位素不
    创业心得:抱怨就是第一生产力

    创业心得:抱怨就是第一生产力

    昨晚和一个深圳的年轻创业者聊天,得知他准备报名参加某互联网创业大赛利用O2O,专注社区零售却总是担心模式不酷,评委看不上。我认为这种担心是没有必要的,互联网时代,真正的机会就是利用互联网的理念与模式去
    看到这些创意404文案 就算网页打不开也值了!

    看到这些创意404文案 就算网页打不开也值了!

    为了将精彩有趣的创意广告呈现给大家,Social每天会在各大网站浏览数量可观的广告视频。有时,难免也会遇到下面这种情况:    Sorry,那条视频不见了...  真是一个令人悲伤的消息...  正当
    舍不得孩子套不住狼 推广外链要向学习型营销转变

    舍不得孩子套不住狼 推广外链要向学习型营销转变

    面对搜索引擎严打spam,发外链与营销推广难度越来越大。但发外链与营销推广还得继续所有外链专员与营销推广人员都必须思考的问题是:在这样的严峻形势下,我应该怎么做?  实际上解决方法是有,只不过并不轻松
    那些被腾讯“招安”的创业公司 近来可好?

    那些被腾讯“招安”的创业公司 近来可好?

    导语:张小龙可能是腾讯到目前为止收购的最有价值的核心资产。他先后打造出了腾讯两个旗舰级的产品,QQ邮箱和微信    在几年前,腾讯给人留下一种铁蹄踏过,寸草不生的印象。凡是被腾讯看上的公司,几乎没有一
你是怎么知道非凡网赚网的?
  •   
  • 联系QQ 邮箱:976382653@qq.com 微信:976382653
    在线留言
    发布软文
    广告自助购
    文章调用
    常见问题
    保存到桌面