JavaScript のはてなブログへの埋め込みテスト
この前、マウスオーバーしたら色が変わるアニメーションを anime.js で作る方法の記事を書いた。
これをはてなブログ上で実現できないかなと思って色々試したところ、 以下のようなコードを書いたら上手くいった。
鬼門は anime.js のインポートで、さすがに無理かと思ったが、 cdnjs というクラウドを利用すればインポートできた。 integrity 付きでインポートできるのでセキュリティ面でも良さそう。
<div id="frame" class="frame"> </div> <style> .frame { background-color: rgb(48, 48, 128); height: 20vmin; width: 20vmin; } </style> <script src="https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.1/anime.min.js" integrity="sha512-z4OUqw38qNLpn1libAN9BsoDx6nbNFio5lA6CuTp9NlK83b89hgyCVq+N5FdBJptINztxn1Z3SaKSKUS5UP60Q==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script> var frame = document.getElementById('frame') var originalColor = "rgb(48, 48, 128)" var highlightColor = "rgb(128, 48, 48)" function AnimeChangeColor(color) { anime({ targets: frame, backgroundColor: color, duration: 200, easing: 'linear' }) } frame.addEventListener('mouseover', () => { AnimeChangeColor(highlightColor) }); frame.addEventListener('mouseout', () => { AnimeChangeColor(originalColor) }); </script>
↓マウスオーバーしたら色が変わります。
JavaScript/TypeScript初学者の備忘録(6)
概要
TestView を用いた MVVM (Model-View-ViewModel) パターン実装の続きに取り組む。
概要と事の経緯については、 0. Figma 奮闘記と JavaScript との邂逅を参照のこと。
- 0. Figma 奮闘記と JavaScript との邂逅
- 1. 最低限の環境構築とアニメーション
- 2. TypeScript の環境構築
- 3. 命盤用の盤面の作成
- 4. JEST と MVVM の導入
- 5. TestView の実装1
- 6. TestView の実装2
- 概要
- View イベント: 宮の選択
- テスト
- 実装
- View イベント: 宮のマウスオーバー
- テスト
- TestView の実装(1)
- ViewModel の実装(1)
- アニメーションのためのデータバインディング再考
- ViewModel の実装(2)
- TestView の実装(2)
- ViewModel の実装(3)
- HTMLView での動作確認
- まとめ
JavaScript/TypeScript初学者の備忘録(5)
概要
前回は、 JEST の導入と TDD (テスト駆動開発) を進めるだけで終わってしまった。 今回は、 TestView を経由して MVVM (Model-View-ViewModel) パターンを導入していこう。
概要と事の経緯については、 0. Figma 奮闘記と JavaScript との邂逅を参照のこと。
- 0. Figma 奮闘記と JavaScript との邂逅
- 1. 最低限の環境構築とアニメーション
- 2. TypeScript の環境構築
- 3. 命盤用の盤面の作成
- 4. JEST と MVVM の導入
- 5. TestView の実装1
- 6. TestView の実装2
JavaScript/TypeScript初学者の備忘録(4)
概要
ここでは、これまで作ってきた GUI モデルに MVVM (Model-View-ViewModel) パターンを導入する。 テストもできるようにする。というか、 TDD (テスト駆動開発) も導入しながら進めていく。
概要と事の経緯については、 0. Figma 奮闘記と JavaScript との邂逅を参照のこと。
- 0. Figma 奮闘記と JavaScript との邂逅
- 1. 最低限の環境構築とアニメーション
- 2. TypeScript の環境構築
- 3. 命盤用の盤面の作成
- 4. JEST と MVVM の導入
- 5. TestView の実装1
- 6. TestView の実装2
JavaScript/TypeScript初学者の備忘録(3)
概要
ここでは、紫微斗数という占いの命盤を作るための盤面を表す HTML/CSS と、 そこにアニメーションを加える TypeScript を書いてみる。
概要と事の経緯については、 0. Figma 奮闘記と JavaScript との邂逅を参照のこと。
- 0. Figma 奮闘記と JavaScript との邂逅
- 1. 最低限の環境構築とアニメーション
- 2. TypeScript の環境構築
- 3. 命盤用の盤面の作成
- 4. JEST と MVVM の導入
- 5. TestView の実装1
- 6. TestView の実装2
JavaScript/TypeScript初学者の備忘録(2)
概要
ここでは、 JavaScript で作った環境を TypeScript に変換して、 Anime.js を使った簡単な Web アニメーションの試作を再現してみる。
概要と事の経緯については、 0. Figma 奮闘記と JavaScript との邂逅を参照のこと。
- 0. Figma 奮闘記と JavaScript との邂逅
- 1. 最低限の環境構築とアニメーション
- 2. TypeScript の環境構築
- 概要
- TypeScript の導入
- JavaScript から TypeScript への変換とコンパイル
- main 関数の導入
- frame の null チェック
- let, var, const の違い
- function の引数の型
- webpack の導入
- TypeScript コンパイル
- まとめ
- 参考文献
- 3. 命盤用の盤面の作成
- 4. JEST と MVVM の導入
- 5. TestView の実装1
- 6. TestView の実装2
JavaScript/TypeScript初学者の備忘録(1)
概要
ここでは、 JavaScript の実行環境である Node.js をインストールして、 Anime.js を使って簡単な Web アニメーションを試作する。
概要と事の経緯については、 0. Figma 奮闘記と JavaScript との邂逅を参照のこと。
- 0. Figma 奮闘記と JavaScript との邂逅
- 1. 最低限の環境構築とアニメーション
- 概要
- JavaScript の導入 (Node.js)
- Anime.js の導入
- WEB ページの準備
- index.html
- style.css
- WEB アニメーションの試作 (script.js)
- まとめ
- 参考文献
- 2. TypeScript の環境構築
- 3. 命盤用の盤面の作成
- 4. JEST と MVVM の導入
- 5. TestView の実装1
- 6. TestView の実装2