このような場合は、CSS と jQuery を組み合わせて使用するのが最適です。画像をサイトのルートまたは /img サブディレクトリに個別のファイルとして保存し、画像を変更するイベントに基づいてリンクにクラスを追加できます。
説明する簡単なコードを次に示します。
HTML:
<div id="backgroundImg"><a class="img-link" href=""></a></div>
CSS:
#backgroundImg a {
width: 50px;
height: 50px;
background: url('img/grey-50x50.png') no-repeat;
display: block;
}
#backgroundImg a.color {
background: url('img/color-50x50.png') no-repeat;
}
そしてjQuery:
$('.image-link').mouseover().addClass('color').mouseout().removeClass('color');
したがって、画像コンテナーを div として定義し、CSS を介して画像をリンク自体の背景画像として読み込み、ユーザーが .image-link 要素にカーソルを合わせたときにクラス名を変更します。
さらに一歩進んで、パフォーマンスのために 2 つの画像を 1 つの 50x100 画像スプライトに結合することができます。次に、CSS は次のようになります。
#backgroundImg a {
width: 50px;
height: 50px;
background: url('img/grey-color-50x100.png') no-repeat;
background-position: 0 0;
display: block;
}
#backgroundImg a.color {
background-position: 0 -50px;
}
それが役立つことを願っています。