jQuery Ripples
WebGLによる波紋の演出 DEMO
背景画像に波紋をつくる jQuery WebGL Ripples の導入方法を紹介します。
準備
- 1)ファイルセットのダウンロード
https://sirxemic.github.io/jquery.ripples/ からDLして下さい。
その中で必要なのは jquery.ripples-min.js のみです。
あと、当然ですが jQuery が必要です。
- 2) 構成ファイルの確認
- index.html (動作確認用)
- css(フォルダ)/ style.css
- js (フォルダ)/ jquery-xxxxx.min.js jquery.ripples-min.js sample.js
- images(フォルダ)/ sample.jpg
- 3) index.html、style.css,、sample.jsの3つについて、それぞれ以下のソースをコピー&ペーストしてお試しください。
ローカルブラウズ( file:// )では正常動作しない場合があります。Webサーバーにアップして( http:// ) 動作確認して下さい。
HTML
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <script src="js/jquery-xxxxx.min.js"></script> <script src="js/jquery.ripples-min.js"></script> <script src="js/sample.js"></script> <link href="css/style.css" rel="stylesheet"> <title>jQuery Ripples</title> </head> <body> <main> <h1>Sample Page</h1> <p>jQuery WebGL Ripples</p> </main> </body> </html>
CSS
要点のみ記載しています
html { height: 100%; } body { display: flex; background-image: url(../images/sample01.jpg); background-size: cover; height: 100%; } main { position: absolute; top: 50%; left: 50%; margin-left: -250px; margin-top: -250px; background-image: url(../images/sample02.jpg); background-size:cover; width: 500px; padding-top: 200px; height: 300px; text-align: center; box-shadow: 0 5px 15px rgba(0,0,0,0.5); line-height: 180%; }
- bodyの中央にmainが配置されるようにしています。
- body と main それぞれに、背景画像を設定しています。
JavaScript
$(function() { $('body').ripples({ resolution: 512, dropRadius: 20, //px perturbance: 0.04, interactive: false, }); $('main').ripples({ resolution: 256, dropRadius: 20, //px perturbance: 0.04, }); }); setInterval(function() { var $obj = $('body'); var x = Math.random() * $obj.outerWidth(); var y = Math.random() * $obj.outerHeight(); var dropRadius = 20; var strength = 0.03 + Math.random() * 0.05; $obj.ripples('drop', x, y, dropRadius, strength); }, 400);
- 前半は、body と main に波紋のパラメータを設定しています。
bodyは反応しませんが、中央 main 領域は、マウスオーバーやクリックに対応して波紋をインタラクティブに発生させます。 - 後半は、body に一定時間ごとに波紋を発生させるための記述です。
- resolution は波紋の解像度で、数値が大きいほど滑らかになります。
- Radius は半径、perturbanceは摂動(波紋が生み出すブレ)を意味します。