ホームページにダイナミックな動きを!JavaScriptフレームワーク「mo.js」の特徴と使い方
使い方
デモを確認しただけでも、本当に様々な動きが実装できるということを理解していただけたと思います。
シンプルなアニメーションであれば、それほど複雑なコードは必要ありません。
ここでは、小さなボールが跳ねるようなアニメーションを実装しながら、「mo.js」の使い方を確認していきましょう。
1. HTMLを準備&CSSで整形
まず、小さな円を描くために次のようなHTMLを記述します。
<div class="circle" id="js-circle"></div>
次に、このエリアに小さなボールを描くために、CSSで整形していきます。
.circle {
width: 50px;
height: 50px;
background: navy;
position: absolute;
top: 10px;
left: 50%;
margin-left: -25px;
margin-top: -25px;
border-radius: 50%;
}
すると、このような感じで青いボールを表示することができます。
absolute属性を必ず指定して、自由に配置することができるようにしましょう。
2. 「mo.js」ライブラリの読み込み
mo.jsを読み込みます。jQueryや他のライブラリには依存していないので、下記のコード(cdn)を読み込むだけでOKです。
<script src="http://cdn.jsdelivr.net/mojs/latest/mo.min.js"></script>
また、npmなら
npm install mo-js
bowerなら
bower install mojs
でmo.jsをインストールすることもできます。
3. スクリプトの記述
次に、実際にどのように動くかを、スクリプトで記述していきます。
var circle = document.querySelector('#js-circle');
new mojs.Tween({
repeat: 999,
delay: 500,
speed: 0.3,
onUpdate: function(progress) {
var bounceProgress = mojs.easing.bounce.out(progress);
circle.style.transform = 'translateY(' + 200 * bounceProgress + 'px)';
}
}).play();
コードの解説
- var circle = … で円のオブジェクトを定義しています
- repeat・delay・speedはそれぞれ繰り返し回数・遅延時間・再生スピードを設定しています
- bounceProgressという変数は、mo.js特有のバウンスアウト(mojs.easing.bounce.out)を設定しています
- circle.style.transformの部分で、円のY座標にバウンス処理を加えた座標のアニメーションを実装しています
4. 完成
再生すると、重いボールが跳ねながら落ちるアニメーションを実装することができました。
See the Pen QdbPVL by Ryo Sakai the ferret Web Writer (@ferretxryoxsakai) on CodePen.
- HTML
- HTMLとは、Webページを記述するための言語です。"HyperText Markup Language "の略です。"<"と">"にはさまれたさまざまな種類の「タグ」によって、文章の構造や表現方法を指定することができます。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
おすすめ記事
おすすめエントリー
同じカテゴリから記事を探す
カテゴリから記事をさがす
●Webマーケティング手法
- SEO(検索エンジン最適化)
- Web広告・広告効果測定
- SNSマーケティング
- 動画マーケティング
- メールマーケティング
- コンテンツマーケティング
- BtoBマーケティング
- リサーチ・市場調査
- 広報・PR
- アフィリエイト広告・ASP
●ステップ
●ツール・素材
- CMS・サイト制作
- フォーム作成
- LP制作・LPO
- ABテスト・EFO・CRO
- Web接客・チャットボット
- 動画・映像制作
- アクセス解析
- マーケティングオートメーション(MA)
- メールマーケティング
- データ分析・BI
- CRM(顧客管理)
- SFA(商談管理)
- Web会議
- 営業支援
- EC・通販・ネットショップ
- 口コミ分析・ソーシャルリスニング
- フォント
- 素材サイト
●目的・施策
- Google広告
- Facebook広告
- Twitter広告
- Instagram広告
- LINE運用
- LINE広告
- YouTube運用
- YouTube広告
- TikTok広告
- テレビCM
- サイト制作・サイトリニューアル
- LP制作・LPO
- UI
- UX
- オウンドメディア運営
- 記事制作・ライティング
- コピーライティング
- ホワイトペーパー制作
- デザイン
- セミナー・展示会
- 動画・映像制作
- データ分析・BI
- EC・通販・ネットショップ
- 口コミ分析・ソーシャルリスニング
●課題
●その他
現在の会員数504,758人
メールだけで登録できます→
会員登録する【無料】