Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 试图从存储卡问题中删除类_Javascript_Dom - Fatal编程技术网

Javascript 试图从存储卡问题中删除类

Javascript 试图从存储卡问题中删除类,javascript,dom,Javascript,Dom,我正在尝试创建一个记忆游戏。当两张牌不相等时,我希望它们翻转过来。然而,当我试图实现这一点时,只有第一张牌被翻转回来,而不是第二张 我试着从容器分区访问卡 我希望在记忆游戏中选择的两张牌如果不匹配就会翻转过来。然而,只有一个翻转时,它不匹配 let-box_-inner=document.queryselectoral('.box-inner'); let box_back=document.queryselectoral('.box_back'); 让box_front=document.q

我正在尝试创建一个记忆游戏。当两张牌不相等时,我希望它们翻转过来。然而,当我试图实现这一点时,只有第一张牌被翻转回来,而不是第二张

我试着从容器分区访问卡

我希望在记忆游戏中选择的两张牌如果不匹配就会翻转过来。然而,只有一个翻转时,它不匹配

let-box_-inner=document.queryselectoral('.box-inner');
let box_back=document.queryselectoral('.box_back');
让box_front=document.queryselectoral('.box front');
常量图像=[{
url:“https://via.placeholder.com/150/00EFF/FFF",
名字:“芬兰人尖叫”
},
{
url:“https://via.placeholder.com/150/00EFF/FFF",
名字:“芬兰人尖叫”
},
{
url:“https://via.placeholder.com/150/BF39ED/FFF",
名字:“杰克脸”
},
{
url:“https://via.placeholder.com/150/BF39ED/FFF",
名字:“杰克脸”
},
{
url:“https://via.placeholder.com/150/A3B90F/FFF",
名称:“LemonGrab”
},
{
url:“https://via.placeholder.com/150/A3B90F/FFF",
名称:“LemonGrab”
},
{
url:“https://via.placeholder.com/150/DFE9FA/FFF",
名字:“玛西琳”
},
{
url:“https://via.placeholder.com/150/DFE9FA/FFF",
名字:“玛西琳”
},
{
url:“https://via.placeholder.com/150/F28FCD/FFF",
名称:“BMO”
},
{
url:“https://via.placeholder.com/150/F28FCD/FFF",
名称:“BMO”
},
{
url:“https://via.placeholder.com/150/FF000/FFF",
名称:“雷尼康”
},
{
url:“https://via.placeholder.com/150/FF000/FFF",
名称:“雷尼康”
}
]
让选择=[];
const container=document.querySelector('.container');
函数ShuffleSquares(){
洗牌(图像);
对于(var i=0;i
正文{
填充:70px;
}
.集装箱{
宽度:50%;
高度:400px;
显示:网格;
保证金:0自动;
边缘顶部:60像素;
网格模板列:重复(4,1fr);
栅隙:10px;
/*背景图像:线性梯度(#def5ff,#f2fbff)*/
背景图像:url('https://wallpapercave.com/wp/FMNuOQx.jpg');
背景尺寸:封面;
盒影:5px 5px 5px盖恩斯博罗;
填充:30px;
}
.盒子{
透视图:1000px;
位置:相对位置;
}
.内胆{
位置:绝对位置;
宽度:100%;
身高:100%;
文本对齐:居中;
转变:转变0.8s;
变换样式:保留-3d;
}
.box-inner.is-fliped{
变换:旋转(180度);
}
.box-c{
位置:绝对位置;
宽度:100%;
身高:100%;
背面可见性:隐藏;
}
.盒子前面{
背景色:#2表格3;
}
1.盒子{
变换:旋转(180度);
背景尺寸:封面;
背景重复:无重复;
背景位置:中心;
}

问题中的代码在所有卡片(包括匹配的卡片)上循环:

您也不会给浏览器一个机会向用户显示不匹配的卡片,因为您可以在没有超时的情况下将它们翻转回来。我为您添加了它,但我没有注意在超时期间从用户处放弃
单击
s,您可能希望自己添加它:

let choices=[];
功能FindAPair(e){
if(e.target.className!=='container'){
e、 target.parentElement.classList.add('is-fliped');
如果(长度<2){
选择。推动(如目标);
}
}
if(choices.length==2){
设置超时(检查选项,500);
}
}
函数checkChoices(){
如果(选项[0].dataset.name==选项[1].dataset.name){
console.log('winner');
选择=[];
}否则{
console.log(“失败者”);
choices.forEach((elt)=>elt.parentElement.classList.remove('is-fliped');
选择=[];
}
}
(函数init(){
让box_inner=document.queryselectoral('.box inner');
let box_back=document.queryselectoral('.box_back');
让box_front=document.queryselectoral('.box front');
常量图像=[{
url:“https://via.placeholder.com/150/00EFF/FFF",
名字:“芬兰人尖叫”
},
{
url:“https://via.placeholder.com/150/00EFF/FFF",
名字:“芬兰人尖叫”
},
{
url:“https://via.placeholder.com/150/BF39ED/FFF",
名字:“杰克脸”
},
for (var i = 0; i < box_inner.length; i++) {
  if (box_inner[i].classList.contains('is-flipped')) {
    box_inner[i].classList.remove('is-flipped');
  }
}
choices.forEach((elt) => elt.parentElement.classList.remove('is-flipped'));