У меня проблема со временем загрузки страницы. В настоящее время я запускаю UBUNTU в Oracle Vm Virtual Box. Я использую mozilla firefox в качестве браузера и работаю над проектом etchasketch из проекта odin.
Моя проблема - время загрузки страницы. Код принимает подсказку в начале и создает сетку для травления эскиза на основе этой подсказки. Я не дал ему минимальное и максимальное значения (16 и 64) соответственно, однако любое число, превышающее 35 в начале, не загружается или загружается целую вечность.
Как ускорить время процесса? / почему он движется так медленно? / как я могу этого избежать? / есть ли исправление, которое я пропустил, которое может сделать эту работу намного быстрее? / Не стесняйтесь решать любые и все эти вопросы!
Это мой HTML-код:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<meta charset="utf-8"/>
<title>
</title>
</head>
<body>
<div class="etchhead">
<p> Choose your grid size </p>
<input type = "text"></input>
<button id="startOver"> Clear Grid </button>
<p> Change color </p>
</div>
<div id="grid">
</div>
<script src="eas.js"></script>
</body>
</html>
И это мой код CSS:
p {
color: blue;
display: inline;
}
#grid {
display: grid;
width: 800px;
max-width: 800px;
height: 800px;
max-height: 800px;
line-height: 0;
}
.gridBox {
border: 1px solid black;
background-color: lightgrey
}
И это мой код JAVASCRIPT:
gridStart();
function gridStart(){
var boxes = 0
var selectBody = document.querySelector("#grid");
var addBox = document.createElement("div");
var boxCountStart = prompt("enter a number between 16 and 64");
var boxDimensions = (boxCountStart * boxCountStart);
function rowsAndColumns() {
var selectBody = document.querySelector("#grid");
var gridTemplateColumns = 'repeat('+boxCountStart+', 1fr)';
selectBody.style.gridTemplateColumns= gridTemplateColumns;
selectBody.style.gridTemplateRows= gridTemplateColumns;
};
function hoverColor(){
var divSelector = selectBody.querySelectorAll("div");
divSelector.forEach((div) => {
div.addEventListener("mouseover", (event) => {
event.target.style.backgroundColor = "grey";
});
});
};
rowsAndColumns();
for (boxes = 0; boxes < boxDimensions ; boxes++) {
var selectBody = document.querySelector("#grid");
var addBox = document.createElement("div");
addBox.classList.add("gridBox");
addBox.textContent = (" ");
selectBody.appendChild(addBox);
hoverColor();
};
};