私はギャラリーを持っています。画像をクリックすると、読み込み中のGIFを表示したい。私は以下のように自分のIDを持つすべての画像に同じonclick
機能を渡しています:複数の画像と同じonclick js関数
<div id="smallimage1" onclick="imageClicked(this.id)">
<img class="model-img" src="img/model/image1.jpeg"/>
</div>
<div id="smallimage2" onclick="imageClicked(this.id)">
<img class="model-img" src="img/model/image2.jpeg"/>
</div>
<div id="loading" style="margin-top: -65%; display: none; z-index= 9999; position: relative;">
<img src="img/imagepreloader.gif" alt="loading...">
</div>
これは私のjsである:最初の画像にその作業罰金
function imageClicked(id) {
// alert(id);
document.getElementById("loading").style.display = ""; // to display
//alert(loading);
return true;
}
var FirstLoading = true;
function Restoresmallimage() {
if (FirstLoading) {
FirstLoading = false;
return;
}
}
// To disable restoring submit button, disable or delete next line.
document.onfocus = Restoresmallimage;
。 しかし、問題は、2番目の画像をクリックしているときです.gifは最初の画像で実行されていて、2番目の画像では実行されていません。この問題を解決するには?各div画像にローディングIDを定義しました。
イメージがクリックされたときに 'loading' divの位置を更新するか、各' image'に複数の 'loading'要素を関連付けるべきです – Rayon
' z-index = 9999'は 'z-index: 9999' –
はいイメージごとに複数の読み込み要素を定義しました。画像divと読み込みdivがあるdivが1つあります。しかし、gifは別の画像をクリックして移動していません。 – Abhishek