這是我在js中編程的第一步。比較記憶遊戲中的元素
我在內存遊戲比較元素有問題。
點擊後,代碼只有一個元素從第一次點擊進行比較,它會導致功能,並且不進一步元素,儘管收集到的值進行比較 -
例如:如果我點擊img
與src="f1.png"
,這只是比較與那個相同的元素src
,不比較其他元素。這裏是f2.png
(這可能會令人困惑,但我不知道如何最好地描述它)
請幫我解決這個問題。
HTML
<div class="c ef">
<div class="f"></div>
<div class="b"><img src="f1.png" /></div>
</div>
<div class="c ef">
<div class="f"></div>
<div class="b"><img src="f2.png" /></div>
</div>
<div class="c ef">
<div class="f"></div>
<div class="b"><img src="f1.png" /></div>
</div>
<div class="c ef">
<div class="f"></div>
<div class="b"><img src="f2.png" /></div>
</div>
腳本比較了
(function() {
var open = "";
var cards = $(".c.ef");
for (var i = 0, len = cards.length; i < len; i++) {
var card = cards[i];
clickListener(card);
}
function clickListener(card) {
card.addEventListener("click", function() {
var c = this.classList;
c.add("flip");
var open1="";
if(open == ""){
open = $(".flip").contents().find("img").attr("src");
}else{
open1 = $(".flip").contents().find("img").attr("src");
}
if(open !== open1){
setTimeout(function(){
c.remove("flip");
}, 1200);
}else{
setTimeout(function(){
$(".flip").css("visibility", "hidden");
c.remove("flip");
}, 800);
}
});
}
})();
本例什麼是你想怎麼辦? –
我試着比較第一個元素與第二個元素後點擊div與img,如果相同的變化能見度隱藏其他比較下兩個元素 –