因此,我在Udacity課程中爲一個項目創建一個「Cat Clicker」。基本上,我們有5張貓的照片(我目前有4張),但每個貓的圖像都應該有自己的點擊計數器,以便點擊特定的圖像。我知道有一種方法可以使用一個for
循環,但不知道如何。我一直在嘗試爲每個單獨的圖像使用addeventlistener
,但是它會統計頁面上的每一次點擊(無論在哪裏)......有人能夠弄清楚我錯過了什麼/做錯了什麼?圖片點擊計數器事件監聽器問題
var sassy = document.createElement("img");
sassy.src = 'images/cat.jpg';
sassy.height = "500";
sassy.width = "640";
sassy.alt = "Sassy Cat";
document.getElementById("catimage").appendChild(sassy);
var addUp = (function() {
var count = 0;
return function() {
var sassy = document.getElementById("catimage");
if (sassy) sassy.innerHTML = "Picture Clicks: " + ++count;
}
}());
document.addEventListener("click", addUp, false);
var grumpy = document.createElement("img");
grumpy.src = 'images/grumpy-cat.jpg';
grumpy.height = "500";
grumpy.width = "640";
grumpy.alt = "Grumpy Cat";
document.getElementById("grumpyimage").appendChild(grumpy);
var cuddlecats = document.createElement("img");
cuddlecats.src = 'images/cuddles.jpg';
cuddlecats.height = "500";
cuddlecats.width = "640";
cuddlecats.alt = "Cuddling Cats";
document.getElementById("cuddlingcats").appendChild(cuddlecats);
var sketchy = document.createElement("img");
sketchy.src = 'images/sketchycat.jpg';
sketchy.height = "500";
sketchy.width = "640";
sketchy.alt = "Sketchy Cat";
sketchy.co
document.getElementById("sketchycat").appendChild(sketchy);
<div id="catimage">
<figcaption>Sassy Cat</figcaption>
<h3 id="sassycount">Picture Clicks: 0</h3>
</div>
<div id="grumpyimage">
<figcaption>Grumpy Cat</figcaption>
<h3 id="grumpycount">Picture Clicks: 0</h3>
</div>
<div id="cuddlingcats">
<figcaption>Cuddling Cats</figcaption>
<h3 id="cuddlecount">Picture Clicks: 0</h3>
</div>
<div id="sketchycat">
<figcaption>Sketchy Cat</figcaption>
<h3 id="sketchcount">Picture Clicks: 0</h3>
</div>
你會推薦我用什麼來代替? (對於愚蠢的問題感到抱歉,對此仍然很新) –
點擊監聽器被添加到文檔中,因此它在文檔上任何地方點擊時執行。你必須檢查,點擊的元素是一個貓的圖像。例如。你可以給圖像一個特定的類,並在處理程序檢查中,如果單擊的元素('e.target')具有該類。 – Teemu