实例讲解如何使用SVG制作loading加载动画的方法

房子修得再大也是临时住所,只有那个小木匣才是永久的家,所以,屋宽不如心宽,身安不如心安!

今天和大家分享一个以SVG图像为主的loading加载动画,现在移动端网页使用比较多,若还用GIF做loading图片的话,可能会影响图像的质量,所以使用SVG是一个不错的方式。

这次展示的代码由 Aurer 编写,前端人员只需要直接复制想要的SVG代码就能直接使用,而且可以改变颜色。当然,对于好学的同学,也可以研究下这个代码的编写原理。

使用好代码教程

接下来设计达人网小编为大家讲解这个使用方法,其实是相当简单的。

STEP 1: 复制你想要的SVG加载动画代码到<body>里面,小编随意复制一个代码如下:

XML/HTML Code复制内容到剪贴板
  1. <svgversion="1.1"id="Layer_1"xmlns="http://www.w3.org/2000/svg"xmlns:xlink="http://www.w3.org/1999/xlink"x="0px"y="0px"width="24px"height="30px"viewBox="002430"style="enable-background:new005050;"xml:space="preserve">
  2. <rectx="0"y="0"width="4"height="10"fill="#333"transform="translate(015.1665)">
  3. <animateTransformattributeType="xml"attributeName="transform"type="translate"values="00;020;00"begin="0"dur="0.6s"repeatCount="indefinite"></animateTransform>
  4. </rect>
  5. <rectx="10"y="0"width="4"height="10"fill="#333"transform="translate(011.5002)">
  6. <animateTransformattributeType="xml"attributeName="transform"type="translate"values="00;020;00"begin="0.2s"dur="0.6s"repeatCount="indefinite"></animateTransform>
  7. </rect>
  8. <rectx="20"y="0"width="4"height="10"fill="#333"transform="translate(01.83315)">
  9. <animateTransformattributeType="xml"attributeName="transform"type="translate"values="00;020;00"begin="0.4s"dur="0.6s"repeatCount="indefinite"></animateTransform>
  10. </rect>
  11. </svg>

此时代码已经可以带动画了,但没颜色,请继续看STEP2添加颜色。

STEP 2 : 为SVG图像添加颜色

给你的样式表添加如下样式,里面的颜色代码换上你喜欢的即!

XML/HTML Code复制内容到剪贴板
  1. <style>
  2. svgpath,svgrect{fill:#FF6700;}
  3. </style>

完成!最终DEMO:

ionic库中的加载动画使用
ionic是一个用来开发混合手机应用的,开源的,免费的代码库。可以优化html、css和js的性能,构建高效的应用程序,而且还可以用于构建Sass和AngularJS的优化。ionic会是一个可以信赖的框架。
安装很简单,如果有npm,Window 和 Linux 上打开命令行工具执行以下命令:

复制代码
代码如下:
$ npm install -g cordova ionic

Mac 系统上使用以下命令:
复制代码
代码如下:
sudo npm install -g cordova ionic

提示: IOS需要在Mac Os X. 和Xcode环境下面安装使用。
如果你已经安装了以上环境,可以执行以下命令来更新版本:
复制代码
代码如下:
npm update -g cordova ionic


复制代码
代码如下:
sudo npm update -g cordova ionic

下面我们来看一下具体的两个加载相关的用法:

ionic 加载动作 $ionicLoading
$ionicLoading 是 ionic 默认的一个加载交互效果。里面的内容也是可以在模板里面修改。
使用实例:
HTML 代码:

XML/HTML Code复制内容到剪贴板
  1. <htmlng-app="ionicApp">
  2. <head>
  3. <metacharset="utf-8">
  4. <metaname="viewport"content="initial-scale=1,maximum-scale=1,user-scalable=no,width=device-width">
  5. <title>IonicModal</title>
  6. <linkrel="nofollow noopener noreferrer" href="http://www.runoob.com/static/ionic/css/ionic.min.css"rel="stylesheet">
  7. <scriptsrc="http://www.runoob.com/static/ionic/js/ionic.bundle.min.js"></script>
  8. </head>
  9. <bodyng-controller="AppCtrl">
  10. <ion-viewtitle="Home">
  11. <ion-header-bar>
  12. <h1class="title">TheStooges</h1>
  13. </ion-header-bar>
  14. <ion-contenthas-header="true">
  15. <ion-list>
  16. <ion-itemng-repeat="stoogeinstooges"rel="nofollow noopener noreferrer" href="#">{{stooge.name}}</ion-item>
  17. </ion-list>
  18. </ion-content>
  19. </ion-view>
  20. </body>
  21. </html>

JavaScript 代码

JavaScript Code复制内容到剪贴板
  1. angular.module(‘ionicApp‘,[‘ionic‘])
  2. .controller(‘AppCtrl‘,function($scope,$timeout,$ionicLoading){
  3. //Setuptheloader
  4. $ionicLoading.show({
  5. content:‘Loading‘,
  6. animation:‘fade-in‘,
  7. showBackdrop:true,
  8. maxWidth:200,
  9. showDelay:0
  10. });
  11. //Setatimeouttoclearloader,howeveryouwouldactuallycallthe$ionicLoading.hide();methodwhenevereverythingisreadyorloaded.
  12. $timeout(function(){
  13. $ionicLoading.hide();
  14. $scope.stooges=[{name:‘Moe‘},{name:‘Larry‘},{name:‘Curly‘}];
  15. },2000);
  16. });

$ionicLoadingConfig
使用实例:

HTML 代码

XML/HTML Code复制内容到剪贴板
  1. <ion-contentscroll="false"class="has-header">
  2. <p>
  3. <ion-spinnericon="android"></ion-spinner>
  4. <ion-spinnericon="ios"></ion-spinner>
  5. <ion-spinnericon="ios-small"></ion-spinner>
  6. <ion-spinnericon="bubbles"class="spinner-balanced"></ion-spinner>
  7. <ion-spinnericon="circles"class="spinner-energized"></ion-spinner>
  8. </p>
  9. <p>
  10. <ion-spinnericon="crescent"class="spinner-royal"></ion-spinner>
  11. <ion-spinnericon="dots"class="spinner-dark"></ion-spinner>
  12. <ion-spinnericon="lines"class="spinner-calm"></ion-spinner>
  13. <ion-spinnericon="ripple"class="spinner-assertive"></ion-spinner>
  14. <ion-spinnericon="spiral"></ion-spinner>
  15. </p>
  16. </ion-content>


CSS 代码

CSS Code复制内容到剪贴板
  1. body{
  2. cursor:url(‘http://www.runob.com/try/demo_source/finger.png‘),auto;
  3. }
  4. p{
  5. text-align:center;
  6. margin-bottom:40px!important;
  7. }
  8. .spinnersvg{
  9. width:19%!important;
  10. height:85px!important;
  11. }

JavaScript 代码

JavaScript Code复制内容到剪贴板
  1. angular.module(‘ionicApp‘,[‘ionic‘])
  2. .controller(‘MyCtrl‘,function($scope){
  3. });

以上就是实例讲解如何使用SVG制作loading加载动画的方法。不要去说,生活是不公平的,世界上没有绝对的公平。我们应该把更多的情感投入到对生活点滴的感悟中,而并非一再的抱怨。我想,海伦。凯勒生活在乐观,快乐中。我们也同样有着能让我们感动的生活,重要的是我们要有一颗感谢生活的心。更多关于实例讲解如何使用SVG制作loading加载动画的方法请关注haodaima.com其它相关文章!

您可能有感兴趣的文章
HTML5之高度塌陷问题的如何解决

html5笛卡尔心形曲线的如何实现

如何使用feDisplacementMap+feImage滤镜如何实现水波纹效果(计算动态值)

如何使用canvas对video视频某一刻截图功能

Canvas如何做个雪花屏版404的如何实现