我正在尝试实施一个照片库(我想你们所有人都已经知道了,因为我发布了很多问题:))。 如果我在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();
};