我正在探索书中的一些示例代码。该代码有一组像这样的缩略图:
<div id="thumbnailPane">
<img src="images/itemGuitar.jpg" alt="guitar" width="301" height="105"
title="itemGuitar" id="itemGuitar" />
<img src="images/itemShades.jpg" alt="sunglasses" width="301" height="88"
title="itemShades" id="itemShades" />
<img src="images/itemCowbell.jpg" alt="cowbell" width="301" height="126"
title="itemCowbell" id="itemCowbell" />
<img src="images/itemHat.jpg" alt="hat" width="300" height="152"
title="itemHat" id="itemHat" />
</div>
单击缩略图时,使用此功能会显示更大的图像:
function initPage() {
// find the thumbnails on the page
thumbs = document.getElementById("thumbnailPane").getElementsByTagName("img");
// set the handler for each image
for (var i = 1; i < thumbs.length; i++) {//CHANGED FROM 0 TO 1
image = thumbs[i];
// create the onclick function
image.onclick = function() {
// find the image name
detailURL = 'images/' + this.title + '-detail.jpg';
document.getElementById("itemDetail").src = detailURL;
getDetails(this.title);
}
}
}
我明白这是如何工作的。我想知道的是是否可以使用单个硬编码函数来复制它。基本上我想要的是在单击缩略图时使用一个通用函数来获取缩略图的标题,该函数将使用onclick
事件处理程序 ( onclick="getImage()"
) 调用所有缩略图。
如何获取刚刚单击的元素的title
或?id
我不使用 jQuery,所以我需要一个 JS 答案。
编辑:
我试图写一个getImage()
这样的函数:
function getImage(){
var title = this.title;
detailURL='images/' + title + '-detail.jpg';
document.getElementById("itemDetail").src = detailURL;
}
这行不通。的var title
值为"undefined"
。