如何在JavaScript中进行无限循环?我正在尝试制作幻灯片,可以正常工作,但是无法循环播放。我什至不能让它循环两次。
我现在正在使用的代码是
window.onload = function start() {
slide();
}
function slide() {
var num = 0;
for (num=0;num<=10;num++) {
setTimeout("document.getElementById('container').style.marginLeft='-600px'",3000);
setTimeout("document.getElementById('container').style.marginLeft='-1200px'",6000);
setTimeout("document.getElementById('container').style.marginLeft='-1800px'",9000);
setTimeout("document.getElementById('container').style.marginLeft='0px'",12000);
}
}
没有for的东西在那里,它确实经历了一次。当我输入for时,它要么使Firefox锁定,要么仅循环一次。我确信这是一件非常简单的事情,即使必须循环1,000,000次或进行其他操作(而不是无限循环),这对我来说也很好。
另外,我不想使用jQuery或其他人创建的东西。我正在学习JavaScript,这部分是为了帮助我学习,部分是因为我正在尝试制作尽可能多的基于HTML5的系统。
编辑:我认为它被冻结的原因是因为它一次执行所有代码,然后将其存储在缓存或其他内容中。我想要它执行的操作是一次,然后再次从顶部开始,这就是我一直认为循环的目的。在“批处理”(命令提示符)脚本中,可以使用“
GOTO
”命令来完成。我不知道JS是否具有等效功能,但这确实是我的目标。
正确的方法是使用单个计时器。使用setInterval
,您可以实现所需的目标,如下所示:
window.onload = function start() {
slide();
}
function slide() {
var num = 0, style = document.getElementById('container').style;
window.setInterval(function () {
// increase by num 1, reset to 0 at 4
num = (num + 1) % 4;
// -600 * 1 = -600, -600 * 2 = -1200, etc
style.marginLeft = (-600 * num) + "px";
}, 3000); // repeat forever, polling every 3 seconds
}
播放幻灯片秀 自动依顺序显示每张图像。 选择频道或图像时按下按钮,再选择选项选单的[幻灯片秀]。 提示 显示图像时若按下START(开始)按钮,即会开始幻灯片秀。 幻灯片秀可与音乐同时播放。详细内容请参阅(相片) > [幻灯片秀] > [同时播放音乐与幻灯片秀]。
播放幻灯片秀 自动依顺序显示每张图像。选择图标并按下START(开始)按钮后,即会开始播放幻灯片秀。显示之内容可能会因选择之图示而异。 提示 亦可透过操作接口或选项选单,启动幻灯片秀。 亦可进入(相片) > (相片设定),改变显示图像的速度。
我在试着理解为什么一些简单的环路会以这样的速度运行 第一种情况: 根据IACA,吞吐量是1个周期,瓶颈是端口1,05。我不明白为什么它是1 cylce。毕竟我们有两个循环承载的依赖关系: 而且这种Latency是循环进行的,所以它应该会减慢我们的迭代。 第二种情况: 我更不明白为什么吞吐量是1.65。
问题内容: 我正在组合一个幻灯片显示程序,该程序将测量用户在每张幻灯片上花费的时间。幻灯片显示了几种不同的魔术。每个技巧显示两次。在重复之间显示了临时图像。在每个技巧之间显示过渡图像。 在第一次重复播放花样时,单击后,JPanel颜色在屏幕上闪烁,然后显示下一张图像。在相同技巧的第二次重复过程中不会发生这种情况。图片加载时间过长。 是否有一种简单的方法来预加载图像,以使第一次通过时没有延迟? 编辑
同时播放音乐与幻灯片秀 幻灯片秀可与音乐同时播放。 1. 以自家选单的(音乐)播放音乐。 2. 按下PS按钮(HOME(归返)按钮)或 SELECT(选择)按钮。 显示自家选单。 3. 从(相片)选择想以幻灯片秀观看的图像或文件夹,按下START(开始)按钮。 提示 同时播放中按下PS按钮(HOME(归返)按钮)或 SELECT(选择)按钮便会显示自家选单,可变更音乐或图像。 欲结束时,请各自结束
问题内容: 因此,当我运行此代码时,我的JFrame变得无响应。我设法将其追溯到gameLoop()下的while循环。无论使用其中调用Thread.sleep()的delay(1000 / FRAMERATE),它都不允许键或鼠标侦听器执行其工作。 下面的完整代码,gameLoop()中存在问题 如果很重要,程序将从此处开始,然后转到Game类 可能无关紧要,但这是github存储库的插件htt