javascript - JavaScript 页面导致计算机无响应
问题描述
我对 JavaScript 完全陌生,所以请耐心等待
我一直在按照教程在 JavaScript 中显示文件夹中的图像,但是当我添加迭代它的脚本时,会导致查看页面的计算机完全锁定
我的标签中包含以下内容:
var canvas = document.getElementById("canvas");
var graphics_context = canvas.getContext("2d");
var rightPressed = false;
var leftPressed = false;
var currentpage = 0;
document.addEventListener("keydown", keyDownHandler, false);
document.addEventListener("keyup", keyUpHandler, false);
function keyDownHandler(e) {
if ((e.key == "Right" || e.key == "ArrowRight") && !rightPressed) {
rightPressed = true;
currentpage++;
}
else if ((e.key == "Left" || e.key == "ArrowLeft") && !leftPressed) {
leftPressed = true;
currentpage--;
}
}
function keyUpHandler(e) {
if (e.key == "Right" || e.key == "ArrowRight") {
rightPressed = false;
}
else if (e.key == "Left" || e.key == "ArrowLeft") {
leftPressed = false;
}
}
function draw() {
var img = new Array();
for(let i = 0; true; i++) {
try {
var image = new Image();
image.src = "img/" + i + ".jpg";
img[i] = image;
}
catch(err) {
break;
}
}
if(currentpage <= 0)
currentpage = 0;
if(currentpage >= img.length)
currentpage = img.length - 1;
ctx.drawImage(img[currentpage], 0, 0, 800, 800);
}
setInterval(draw, 10);
我确实意识到在循环中从文件夹中读取效率非常低,但我真的不明白它会如何导致我的整个 PC 锁定(它与运行页面的 PC 是单独的 PC)
任何帮助表示赞赏!
解决方案
推荐阅读
- android - 线性布局内的按钮位置错误
- docker - pm2-runtime 生态系统 npm 脚本失败
- ignite - 当节点增加到 2 时点燃减速
- python - 如何从元组中删除引号,然后将它们存储为元组
- android-studio - Kotlin:使用毕加索加载图像,旋转 90 度的人像图像
- java - 设置CameraX图像采集文件路径
- vue.js - 如何从其父组件下的组件打开和关闭 v-dialog?使用 Vuex?
- python-3.x - 在循环内仅打印一次输出
- python - 可以在表格中切换角色和状态
- azure - 如何使用 Db Transaction 向 Microsoft EventHub 发送消息?