【コピペ】HTMLとJavaScriptで作る!線のみの波線アニメーション(jQuery不要)
スポンサーリンク

こんにちは!静岡県浜松市でWEBデザイナーをしています小瀧です。

ウェブサイトに さりげなく動きをつけると、視覚的な魅力がグッと増す ことをご存知でしょうか?

特に、シンプルな 線の波アニメーション は、背景やコンテンツの装飾として使うことで、洗練された印象を与えられます。

波のアニメーションといえば SVGCSSアニメーション でも作成できますが、今回は HTMLのcanvasとJavaScriptを使って、jQueryなしで実装する方法 を紹介します。

この方法なら、 軽量&スムーズなアニメーション を実現でき、余計なライブラリを使わずに済みます。

サイトのパフォーマンスを落とさず、動的なデザインを取り入れたい方におすすめです!

完成イメージ

今回作るのは、 3本の波線が異なる速度・高さ・波長で動くアニメーション です。
シンプルな 線のみ で波を描き、余計な装飾はせずに軽量化を重視しました。

  • 塗りつぶしなし(線のみ)
  • 3本の波線が異なる動きで描画
  • JavaScriptのみでアニメーション(jQuery不要)

See the Pen
Untitled
by 小瀧賢 (@ekwwawpb-the-styleful)
on CodePen.

HTMLの準備

まずは、canvasタグを用意します。

<canvas id="waveCanvas"></canvas>

 

スポンサーリンク

コードの解説

canvasの設定

body { 
margin: 0; 
overflow: hidden; 
background-color: #222; 
} 
canvas { position: absolute; 
top: 50%; 
left: 50%; 
transform: translate(-50%, -50%); 
} 

これにより、 波の描画領域をページの中央 に配置し、余計なスクロールを防ぎます。

 

drawWave()関数

この関数を使って 波の線 を描画します。

const canvas = document.getElementById("waveCanvas");
    const ctx = canvas.getContext("2d");

    canvas.width = window.innerWidth;
    canvas.height = 300;

    let t = 0; // 時間変数

    function drawWave(color, speed, amplitude, wavelength, yOffset) {
      ctx.strokeStyle = color;
      ctx.lineWidth = 2;
      ctx.beginPath();

      for (let x = 0; x < canvas.width; x++) {
        const y = Math.sin((x + t * speed) / wavelength) * amplitude + canvas.height / 2 + yOffset;
        ctx.lineTo(x, y);
      }

      ctx.stroke();
    }

 

animate()関数

アニメーションを実行する関数です。

function animate() {
      ctx.clearRect(0, 0, canvas.width, canvas.height);

      drawWave("#00FFFF", 3, 20, 100, -20); // シアン
      drawWave("#FF00FF", 2.5, 30, 120, 0); // マゼンタ
      drawWave("#FFFF00", 2, 25, 140, 20); // イエロー

      t += 2; // 波の動きを制御
      requestAnimationFrame(animate);
    }

    animate();

 

まとめ

  • 線のみの波線アニメーションを作成
  • JavaScriptのcanvas APIを使用
  • 3本の波線が異なる動きをする
  • jQuery不要で軽量なアニメーション

Webサイトに動きを加えたいときに、ぜひ試してみてください!

静岡県浜松市でホームページ制作ならsatokotadesign
静岡県浜松市でホームページ制作ならsatokotadesign

 

 

こんなお悩みありませんか?
  • 実店舗の宣伝のためにホームページがほしい!
  • サイトをリニューアルしたい
  • スマホでも綺麗にサイトを表示したい
  • 予算が少ないからきちんと制作してもらえるか不安
  • ネットでの集客は成果が上がるのかわからない

そのお悩み全て解決します!

集客できるWebサイトをお求めやすい価格で制作します!

・個人だから他のWeb制作会社よりも圧倒的に安い!

・お客様に寄り添った完全オーダーメイド

お客様一人ひとりに寄り添い、親切丁寧に対応させていただきます。

一緒に素敵なWebサイトを作りましょう!

スポンサーリンク
おすすめの記事