トップへ戻るボタンをクリックすると画像を変える方法

Cocoonカスタマイズ集
この記事は約5分で読めます。
記事内に広告が含まれています。

実装手順

以下の手順で実装します。

応用: ボタンクリック後のアニメーション設定方法

トップ戻るボタンをクリックすると、CSSで画像を切り替わりアニメーションを実行させます。

実装手順

以下のコードをstyle.cssに追加します。

  • ラベル
    ボタン画像を作成
    ボタンクリック後

    図3のように、1コマの画像幅を75pxとし、2コマ(幅150px)の画像を作成します。

  • ラベル
    CSSを追加

    以下のコードをstyle.cssに追加します。

    .go-to-top-button-image {
      height: 75px;
      width: 75px;
    
      &.go-to-top-up {
        img {
          display: none;
        }
    
        &::after {
          animation: splice steps(2) 0.2s infinite;
          background-image: url('図3に示すボタンクリック後の画像URL');
          background-position: 0 0;
          background-repeat: no-repeat;
          content: '';
          display: block;
          height: 100%;
          width: 100%;
        }
      }
    }
    
    @keyframes splice {
      100% {
        background-position: -150px 0;
      }
    }

    stepsを用いてコマ数を指定し、画像幅が150pxのため、keyframesのbackground-positionのx座標は-150pxに設定します。

補足

以下のように、animationプロパティではカンマで区切って複数のkeyframesを指定できます。
これにより、複数のアニメーションを同時に実行し、トップへ移動させることができます。

animation: splice steps(2) 0.2s infinite, upAnime 0.5s linear infinite;

参考:アニメーションPNG作成手順

クリック時の画像をアニメーションGIFにする方法もありますが、GIFは256色までしか表現できず、輪郭にジャギーが生じることがあります。

そのため、アニメーションPNGを使用するのが推奨されます。
ただし、アニメーションPNGを作成するツールは限られているため、以下のサイトを利用して作成できます。

以下の手順でアニメーションPNGを作成します。

  • ラベル
    変換するファイルを選択
    Animated PNG Maker
    1. 図4①に示す領域に、アニメーションPNGとするPNGファイルを、複数をドラッグします。
  • ラベル
    アニメーションPNGに変換
    Animated PNG Maker
    1. 図5②に示すように、各コマの表示時間を1/100秒単位で入力します。
    2. 図5③に示すように、「フレームを積み重ねない」をチェックします。
  • ラベル
    変換結果をダウンロード
    Animated PNG Maker
    1. 図6④に示すボタンをクリックします。
    2. 図6⑤に示すボタンをクリックし、アニメーションPNGファイルをダウンロードします。

さいごに

今回紹介した方法を使えば、トップ戻るボタンをクリックした際に画像を簡単に切り替えることができます。
SWELLとは異なり、クリック後にCSSクラスが自動的に追加されるため、より簡単に画像を切り替えることが可能です。

タイトルとURLをコピーしました