这是我在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,如果相同的变化能见度隐藏其他比较下两个元素 –