マウスの動きに合わせて波紋を描くjQueryプラグイン[jQuery Ripples]の使い方を紹介します。
まずは実際にウェブページに組み込んだサンプルを用意しましたのでご覧ください。
ONZE DEMO : https://on-ze.com/demo/jquery-ripples/
マウスの動きだけでなく、クリックにも反応してキレイな波紋が描かれますね。
使い方ですが、jQueryの本体ファイルとともにプラグインを読み込んで、[jQuery Ripples]を効かせる要素を指定するだけなので、比較的簡単に実装できます。
[jQuery Ripples]の実装方法
プラグインの入手とサーバーへのアップロード
最初に、配布されているプラグインのファイルを入手します。
下記サイトからダウンロードできるようになっています。
ダウンロードしたJavaScriptファイル「jquery.ripples-min.js」をサーバーにアップロードして、HTMLの適当な箇所で読み込みます。
このとき先にjQueryの本体ファイルを読み込んでおくことも忘れずに。
以下、今回はbodyタグの最下部で各ファイルを読み込む設定にしました。
<body> ... <script src='//ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js'></script> <script src="jquery.ripples-min.js"></script> </body>
波紋を描かせる要素を作る
続いては波紋を描く要素を作ります。
ここでは仮に、「class="ripples"」と名付けました。
<div class="ripples">
スタイルシート側では背景画像を指定しておきます。
.ripples { background:url("sample.png") center no-repeat; background-size:cover; display:block; position:fixed; top:0; left:0; right:0; bottom:0; }
背景画像を全面に敷き詰めるためにbackground-size:cover;
も追加しています。
初期設定
最後に初期設定を行います。
<script> $(".ripples").ripples(); </script>
最低限、必要な設定は以上です。
HTMLに記述したコードは次のようになりました。
<body> <div class="ripples"> <script src='//ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js'></script> <script src="jquery.ripples-min.js"></script> <script> $(".ripples").ripples(); </script> </body>
このままコピペしても使えますよ。
オプション設定
追加設定では、波紋の大きさや広がりの速度を調整することができます。
<script> $(".ripples").ripples({ dropRadius: 20, perturbance: 0.03, resolution: 256, interactive: true, crossOrigin: "" }); </script>
「dropRadius」は波紋の大きさ。
「perturbance」は波紋が生み出すブレ。
「resolution」は波紋の広がりの速度。
それぞれの数値を調整して動きを確かめてみてください。
このプラグインは canvas 要素を生成して、そこに波紋模様を描く仕組みになっています。
唯一の難点としては複雑なHTMLにすると挙動がかなり重くなること。
そしてiPhoneを含むスマートフォンでは挙動しないので注意が必要です。
- SAMPLE : https://on-ze.com/demo/jquery-ripples/
- DOWNLOAD : https://github.com/sirxemic/jquery.ripples/