私はフォト ギャラリーを実装しようとしています (私はたくさんの質問を投稿するので、皆さんはすでにそれについて知っていると思います :) )。DOM要素のonclickプロパティに関数を割り当てると、関数は正常に機能します。
var img_thumb = document.createElement('img');
img_thumb.src = photos[i].img_thumb;
img_thumb.onclick = function showImage(img_thumb) {
var index = arr_thumb.indexOf(img_thumb.target);
document.getElementById('largeImgPanel').appendChild(arrow_right);
document.getElementById('largeImg').src = arr_big[index].src;
showLargeImagePanel();
unselectAll();
};
これは単なる関数です。ここに同じ showImage 関数を追加して、矢印をクリックして呼び出して表示される画像を変更しようとすると、機能しません。
function showLargeImagePanel() {
document.getElementById('largeImgPanel').style.visibility = 'visible';
}
function unselectAll() {
if(document.selection) document.selection.empty();
if(window.getSelection) window.getSelection().removeAllRanges();
}
さまざまな方法で書き直そうとしましたが、変更はありません。矢印をクリックすると、「largeImagePanel」が閉じます。
これがshowImage関数の私の最後のバージョンです:
function showImage(img_src) {
document.getElementById('largeImg').src = img_src;
showLargeImagePanel();
unselectAll();
};
誰かが私の問題について何か考えを教えてもらえますか?
同じプロパティ「onclick」を矢印オブジェクトに書き込むと、「largeImgPanel」が再び閉じます >:
arrow_right.onclick = function() {
document.getElementById('largeImgPanel').appendChild(arrow_right);
document.getElementById('largeImg').src = next;
showLargeImagePanel();
unselectAll();
};