好的,所以最後,在我在這裏的點擊問題上點擊下降(大聲!)。該代碼現在向用戶顯示每個節點點擊一次的圖片選擇。唷。傳遞圖像數組值和更改圖像源onclick
但是,現在我的img.src=e.target.src
行無法訪問數組中的其他圖像。只有數組中的最後一張圖片纔會添加到表格中。我認爲這是因爲allImages.onclick
事件應該在循環內?
我試過了,然後img
顯示爲未定義。我猜這是因爲在聲明var img
之前循環(以及函數)正在運行?我認爲這是事物順序的問題。
所有幫助表示讚賞。
var makeChart = function() {
var table = document.createElement('table'),
taskName = document.getElementById('taskname').value,
header = document.createElement('th'),
numDays = document.getElementById('days').value, //columns
howOften = document.getElementById('times').value, //rows
row,
r,
col,
c;
var myImages = new Array();
myImages[0] = "http://www.olsug.org/wiki/images/9/95/Tux-small.png";
myImages[1] = "http://a2.twimg.com/profile_images/1139237954/just-logo_normal.png";
for (var i = 0; i < myImages.length; i++) {
var allImages = new Image();
allImages.src = myImages[i];
var my_div = document.createElement("div");
my_div.id = "showPics";
document.body.appendChild(my_div);
var newList = document.createElement("ul");
newList.appendChild(allImages);
my_div = document.getElementById("showPics");
my_div.appendChild(newList);
my_div.style.display = 'none';
}
header.innerHTML = taskName;
table.appendChild(header);
header.innerHTML = taskName;
table.appendChild(header);
function addImage(col) {
var img = new Image();
img.src = "http://cdn.sstatic.net/stackoverflow/img/tag-adobe.png";
col.appendChild(img);
img.onclick = function() {
my_div.style.display = 'block';
allImages.onclick = function (e) { // I THINK THIS IS THE PROBLEM
img.src = e.target.src;
my_div.style.display = 'none';
img.onclick=null;
};
}
}
for (r = 0; r < howOften; r++) {
row = table.insertRow(-1);
for (c = 0; c < numDays; c++) {
col = row.insertCell(-1);
addImage(col);
}
}
document.getElementById('holdTable').appendChild(table);
document.getElementById('createChart').onclick=null;
}
這是偉大的Rikonator。謝謝你的幫助。這讓我瘋狂。將這些東西用於學習目的是很好的,但當你被絆倒的時候,它就會變得令人沮喪,並使你不再關注這個主題。我可以看到我離工作解決方案還很近。 – Inkers