Web Animations APIを使用して、クールな粒子効果を作成します。ボタンをクリックして花火を開花させます!
アニメーションの魅力を粒子効果よりもよく示すことはできません!新しいテクノロジーを探索するたびに、できるだけ多くの粒子を使用してプレゼンテーションを行うことはできません。この記事では、Web Animations APIを使用して、ボタンをクリックしてより驚くべきパーティクルマジックを作成して花火エフェクトをトリガーします。
ブラウザのサポート
執筆時点で、SafariおよびInternet Explorerを除くすべての主要なブラウザは、少なくとも部分的にWebアニメーションAPIをサポートしています。 Safariサポートは、「Experience Feature」開発者メニューで有効にできます。
ブラウザは、Caniuseのデータをサポートしています。これには詳細が含まれています。番号は、ブラウザがこのバージョンからこの機能をサポートしていることを示しています。
デスクトップ
モバイル/タブレット
Twitter Love Animationを再現したい場合は、Ana Tudorのこの素晴らしい記事を参照することもできます。これは、ボタン爆発粒子の効果の素晴らしい例でもあります。
HTML構造
このデモは、HTMLコードをあまり必要としません。 1つを使用します<button></button>
要素ですが、他のタイプのタグ要素にもなります。必要に応じて、ページ上のクリックイベントを聞いて、どこからでも粒子をポップアップできるようにすることもできます。
<button id="button">私をクリックしてください</button>
CSSスタイル
各粒子にはいくつかの一般的なCSSプロパティがあるため、ページのグローバルCSSにそれらを設定できます。 HTMLのようなカスタムタグ要素を作成できます。<particle></particle>
セマンティックタグの使用を避けるためのタグ名。しかし、実際には、アニメーションができます<div>、<code><span></span>
またはあなたが選んだラベル。
粒子 { ボーダーラジウス:50%; 左:0; ポインターイベント:なし; 位置:修正; 上:0; 不透明:0; /*初期の透明度は0です。アニメーションが始まる前に見える粒子を回避*/ }
注意すべきは、次のとおりです。
- 粒子はページのレイアウトと相互作用してはならないため、
fixed
、top
、left
position
を0pxに設定します。 - また、
pointer-events
を削除して、HTML粒子が画面に表示されたときにユーザーの相互作用を避けました。
ボタンとページのレイアウトのスタイルデザインはこの記事の焦点ではないため、このセクションをスキップします。
JavaScriptコード
JavaScriptで従う6つのステップを次に示します。
- ボタンのクリックイベントを聞いてください
- 30を作成します
<particle></particle>
要素をDOMに追加します - 各粒子にランダム幅、高さ、背景色を設定します
- 各粒子をアニメーション化して、マウスの位置からランダムな位置に移動し、徐々にフェードアウトします
- アニメーションが完了したら、domから削除します
<particle></particle>
要素
ステップ1:イベントをクリックします
//まず、ブラウザがWebアニメーションAPIをサポートしているかどうかを確認します if(document.body.anime){ //サポートされている場合、クリックリスナーdocument.queryselector( '#button')を追加します。AddEventListener( 'Click'、pop); }
ステップ2:粒子の作成
// pop()関数は関数pop(e)と呼ばれます{ //(i = 0; i <h4 id="ステップ-粒子の幅-高さ-背景">ステップ3:粒子の幅、高さ、背景</h4><pre class="brush:php;toolbar:false">関数createparticle(x、y){ // ...(前のコード) // 5pxから25px const size = math.floor(math.random() * 20 5)の間のランダムサイズを計算します。 //各粒子にサイズを適用します。style.width= `$ {size} px`; partial.style.height = `$ {size} px`; //青/紫色のパレットPartial.style.background = `hsl($ {math.random() * 90 180}、70%、60%)`; // ...(次のステップ) }
ステップ4:各粒子をアニメーション化します
関数createparticle(x、y){ // ...(前のコード) //マウス位置75px const destinationx(math.random() - 0.5) * 2 * 75の範囲でランダムxおよびyターゲット位置を生成します。 const destinationy = y(math.random() - 0.5) * 2 * 75; //アニメーションを変数に保存してから後で必要になるため、const animation = particle.anime([[ { //粒子の初期位置を設定します//粒子のサイズの半分を使用して粒子をシフトしてマウスの中心にします: `翻訳($ {x - (size/ 2)} px、$ {y - (size/ 2)} px)`、 不透明:1 }、 { //最終座標を2番目のキーフレーム変換として定義します: `translate($ {destinationx} px、$ {destionny} px)`、 不透明:0 } ]、{ // 500msから1500msの間のランダムな期間を設定します:500 Math.random() * 1000、 緩和: 'Cubic-Bezier(0、.9、.57、1)'、 // 0msから200msの間のランダム値を使用して各粒子を遅らせる:math.random() * 200 }); // ...(次のステップ) }
ステップ5:アニメーションが完了したら粒子を取り外します
関数createparticle(x、y){ // ...(前のコード) //アニメーションが完了したら、dom =()=> {から要素アニメーションを削除します。 particle.remove(); }; }
最終効果
すべてのコードを一緒に統合することにより、必要な効果を得ることができます:カラフルな粒子爆発効果。
デモにアニメーションが表示されない場合は、ブラウザがWebアニメーションAPIをサポートしているかどうかを確認してください。詳細については、記事の冒頭のブラウザサポートフォームを参照してください。
無制限の創造性
これらすべてがCSSを使用しているため、粒子スタイルの変更は非常に簡単です。さまざまな形(文字!)を使用した例をいくつか紹介します。
または、この投稿でZach Saucierが行ったように、ボタン自体を爆発させることもできます。
(他の形状と文字の2番目の追加サンプルコード、およびZach Saucierの記事へのリンク)
以上がWeb Animations APIを使用して粒子で再生しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

CSSグリッドは、複雑で応答性の高いWebレイアウトを作成するための強力なツールです。設計を簡素化し、アクセシビリティを向上させ、古い方法よりも多くの制御を提供します。

記事では、レスポンシブデザインにおけるスペースの効率的なアラインメントと分布のためのレイアウト方法であるCSS FlexBoxについて説明します。 FlexBoxの使用量を説明し、CSSグリッドと比較し、ブラウザのサポートを詳細に説明します。

この記事では、ビューポートメタタグ、柔軟なグリッド、流体メディア、メディアクエリ、相対ユニットなど、CSSを使用してレスポンシブWebサイトを作成するための手法について説明します。また、CSSグリッドとフレックスボックスを使用してカバーし、CSSフレームワークを推奨しています

この記事では、要素の寸法の計算方法を制御するCSSボックスサイズのプロパティについて説明します。コンテンツボックス、ボーダーボックス、パディングボックスなどの値と、レイアウト設計とフォームアライメントへの影響について説明します。

記事では、CSS、キープロパティ、およびJavaScriptとの組み合わせを使用してアニメーションの作成について説明します。主な問題は、ブラウザの互換性です。

記事では、3D変換、主要なプロパティ、ブラウザの互換性、およびWebプロジェクトのパフォーマンスに関する考慮事項にCSSを使用して説明します。

この記事では、CSSグラデーション(線形、放射状、繰り返し)を使用して、ウェブサイトのビジュアルを強化し、深さ、フォーカス、および現代の美学を追加します。

記事では、CSSの擬似要素、HTMLスタイリングの強化における使用、および擬似クラスとの違いについて説明します。実用的な例を提供します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

WebStorm Mac版
便利なJavaScript開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

ホットトピック









