javascript - 如何获得 4by4 网格来显示我所有的拼图?
问题描述
我正在尝试制作一个图像益智游戏,其中有一个 4by4 网格来尝试解决洗牌的谜题。我尝试创建一个 4by4 网格,但没有运气,更不用说数组中的每个元素都对应于板上的一块拼图。我尝试为每个图像制作 div,但无法找到一种在板上正确显示它们的方法。如何完成可以对应于数组中元素的 4by4 网格?
注意:我知道我的图像无法正确显示,因为文件尚未转换为堆栈溢出的服务器,暂时忽略它。
var pieces = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,];
function initialize()
{
for( var i = pieces.length; i<16; i++;){}
}
function shuffle()
{
}
* {
box-sizing: border-box;
}
body {
margin: 0;
background: radial-gradient(#9D5900, #3D2200);
}
.game-container {
display: grid;
grid-template-columns: repeat(4, auto);
grid-gap: 10px;
margin: 50px;
justify-content: center;
perspective: 500px;
}
.card {
height: 225px;
width: 175px;
}
<!DOCTYPE html>
<html>
<title></title>
<link rel="stylesheet" type="text/css" href="PicturePuzzle.css" />
<script src="PicturePuzzle.js" type="text/javascript"></script>
<head>
<body onload = "initialize()">
<div class="game-container">
<div class="card">
<img src="char1.jpg">
</div>
<div class="card">
<img src ="char2.jpg">
</div>
<div class="card">
<img src ="char3.jpg">
</div>
<div class="card">
<img src="char4.jpg">
</div>
<div class="card">
<img src="char5.jpg">
</div>
<div class="card">
</div>
<img src="char6.jpg">
</div>
<div class="card">
<img src="char7.jpg" >
<div class="card">
<img src="char8.jpg" >
</div>
<div class="card">
<img src="char9.jpg" >
</div>
<div class="card">
<img src="char10.jpg">
</div>
<div class="card">
<img src="char11.jpg">
</div>
<div class="card">
<img src="char12.jpg">
</div>
<div class="card">
<img src="char13.jpg">
</div>
<img src="char14.jpg">
</div>
<div class="card">
<img src="char15.jpg">
</div>
<img src="char16.jpg">
</div>
</div>
<button onclick = "shuffle()">Shuffle</button>
</body>
</head>
</html>
解决方案
你有 HTML 错误弄乱了网格 -</div>
错误的地方有标签 - 并且缺少<div>
标签
正确的 HTML:
<div class=game-container>
<div class=card>
<img src=char1.jpg>
</div>
<div class=card>
<img src=char2.jpg>
</div>
<div class=card>
<img src=char3.jpg>
</div>
<div class=card>
<img src=char4.jpg>
</div>
<div class=card>
<img src=char5.jpg>
</div>
<div class=card>
<img src=char6.jpg>
</div>
<div class=card>
<img src=char7.jpg>
</div>
<div class=card>
<img src=char8.jpg>
</div>
<div class=card>
<img src=char9.jpg>
</div>
<div class=card>
<img src=char10.jpg>
</div>
<div class=card>
<img src=char11.jpg>
</div>
<div class=card>
<img src=char12.jpg>
</div>
<div class=card>
<img src=char13.jpg>
</div>
<div class=card>
<img src=char14.jpg>
</div>
<div class=card>
<img src=char15.jpg>
</div>
<div class=card>
<img src=char16.jpg>
</div>
</div>
存在 Javascript 错误 - 它不影响网格
循环控制语句中的增量表达式后面不能有分号
也更喜欢使用let
而不是var
for(let i=pieces.length; i<16; i++) {}
推荐阅读
- hyperledger-fabric - 如何知道我在超级账本结构中使用的 stateDB
- reactjs - 由于 CORS 错误,POST 请求在反应 axios 中被阻止
- java - 收集地图。将第一个值输入地图
- reactjs - Firebase 在上传前验证帖子尺寸
- python - 在 Scrapy 中抓取提取的链接
- babeljs - 如何清除 babel 缓存?
- apache-spark - 如何在运行时更改流式查询的输入目录?
- javascript - ReferenceError: d3 is not defined while using Vue js and d3 for data可视化
- r - R:表格到矢量并删除最后一列
- prometheus - Grafana 变量 - 区间乘数