我在我的项目(内存游戏)中有问题,我想比较用户单击的两张卡之间的img src。 如果用户单击任何卡,翻转功能将起作用,第一张卡将存储在Fcard变量中,第二张卡将存储在Scard变量中。 我从html中获取了所有img src(通过querySelectorAll('.class'),然后将其放入一个数组中,该数组将被发送到shuffle函数中,以便在每个新游戏中混合使用纸牌。 我想比较Fcard和Scard的img src,我不没有什么正确的语法来比较img src。
我的代码:
得到我的src图像,然后发送到随机播放功能:
const imageCon = document.querySelectorAll('.back_face');
// store all image then sent to shuffle to random images
let image = ['img/instagram.png', 'img/facebook.png' , 'img/youtube.png' ,'img/twitter.png' ,
'img/whatsapp.png' ,'img/linkedin.png', 'img/flickr.png' , 'img/pinterest.png' , 'img/instagram.png',
'img/facebook.png' , 'img/youtube.png' ,'img/twitter.png' , 'img/whatsapp.png' ,
'img/linkedin.png', 'img/flickr.png' , 'img/pinterest.png']
let images = shuffle([...image]);
for ( let i=0 ; i<images.length; i++) {
imageCon[i].setAttribute('src' , images[i]);
}
此翻转功能:
function flip(event) {
if (freeze)
return;
if (this === Fcard) return;
// to flip the cards
this.classList.add('flip');
if (!fliped) {
// first click
fliped = true;
Fcard = this;
}
else {
fliped = false;
Scard = this;
if ( Fcard.image.src === Scard.image.src )
{
match++;
// if match
Fcard.removeEventListener('click', flip);
Scard.removeEventListener('click', flip);
}
else {
// not match
freeze = true;
setTimeout (() =>
{
Fcard.classList.remove('flip');
Scard.classList.remove('flip');
freeze = false; } , 1400);
}
}