当前位置: 首页 > 面试题库 >

JavaScript无限循环延迟播放幻灯片?

邴子实
2023-03-14
问题内容

如何在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(选择)按钮便会显示自家选单,可变更音乐或图像。 欲结束时,请各自结束

  • 我制作了一个jquery幻灯片,下面是代码: HTML CSS jQuery “下一个”按钮工作,但当我点击“上一个”图像消失!有人能帮我吗? 这是小提琴。