-
BLOG
知る。残す。伝える。

前回の記事で、deSVG.jsを使って、「SVGでインライン記述ではなくimgタグで設置してCSSコントロールする方法」を書きました。
上記の方法でimgタグで設置したものをvivus.jsでアニメーションをしようとしてみました。
できなかったのです。
なんぜ?と思い、deSVG.jsによって吐き出されたSVGのソースを見てみると、vivus.jsで必要なID名がないなど、色々データが変換されていることに気がつきました。
deSVG.jsはあくまでも「置換」されるもので、「そのまま吐き出す」のではなかったのです。
つまりCSSで色付けはできるものの、細かくアニメーションができなかったのです。
とにかく
◎SVGを外部ファイル化したい
◎外部ファイル化したSVGを「全くそのまま」インライン記述のように扱いたい
◎vivus.jsでSVGアニメーションしたい
この三つをクリアしたかった。クリアしたかった。
そこで非同期大先生「Ajax」でできるのでは?と思いやってみたところ、できた。
Ajax様天才x80000000
ということで備忘録。
※deSVG.js関連記事:SVGをインライン記述ではなくimgタグで設置してCSSコントロールできるdeSVG.js
※vivus.js関連記事:Illustratorでデータを作りsvgアニメーションで文字を書いてみた【手書き風編】
(1)SVGをAjaxで読み込む
(2)読み込んだSVGをvivus.jsでアニメーション
※jQueryをあらかじめ読み込んでおく
$.ajax({
type:'GET',
url: 'img/hoge.svg',//svgファイルの場所
success:function(data){
var svgData = $(data).find('svg');
$('#hogehoge').prepend(svgData);//吐き出したいIDの場所に設置
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vivus/0.4.4/vivus.min.js" type="text/javascript"></script>
<script new Vivus('IDNAME',//動かしたいSVGのID名
{
type: 'oneByOne', //1パスずつ書く
start: 'inViewport', //ビューポート内に表示されたらスタート
duration: 200, //速さ
animTimingFunction:Vivus.EASE_OUT//イージング
});></script>
花粉のない国を作りたい
© Copyright 2024 NIAR All rights reserved.