JavaScript で画像を簡単に変更することはできません。ただし、画像を複数の画像に分割し、1 つを除くすべてをベース画像の上に透過的に配置することで問題を解決できます。その後、上部の画像を変更/非表示/表示して、目的を達成できます。
個々のスライスを置き換えるよりも、透明なオーバーレイ PNG 画像を使用する方がよいでしょう。また、ベース イメージは 1 つのイメージにのみ存在する必要があり、他のイメージにはそれらが表すもののみを含めることができるため、はるかに柔軟です。
オーバーレイされた画像またはオーバーレイされたテキスト オブジェクトを配置するには、相対コンテナー内で絶対配置を使用します。
たとえば、これは、オーバーレイされた 1 つのテキストに 2 つの画像がオーバーレイされた背景を作成します。
<div id="container>
<img id="overlay1" src="xxx.png">
<img id="overlay2" src="yyy.png">
<div id="text1">Some Text</div>
</div>
そして、次のような CSS があります。
#container {
position: relative;
height: 400px;
width: 300px;
background-image: url(bbb.jpg);
}
#overlay1 {
position: absolute;
top: 20px;
left: 50px;
z-index: 1;
}
#overlay2 {
position: absolute;
top: 150px;
left: 150px;
z-index: 1;
}
#text1 {
position: absolute;
top: 300px;
left: 150px;
z-index: 2;
}
いつでも、個々のコンポーネントを非表示または表示したり、テキストを変更したりできます。たとえば、テキスト要素を非表示にするには、次を使用します。
$("#text1").hide();
テキストを変更するには、次を使用する必要があります。
$("#text1").html("Different Text");