【问题标题】:setTimeout() function triggering an errorsetTimeout() 函数触发错误
【发布时间】:2015-02-02 06:27:12
【问题描述】:

希望每 5 秒运行一次函数 a,但在完全加载的文档上执行主函数后仅 3 秒。

jQuery(document).ready(function() {
setTimeout(function() {

    var audioElement = document.createElement('audio');
    audioElement.setAttribute('src', 'engine_start.mp3');
    audioElement.setAttribute('autoplay', 'autoplay');
    //audioElement.load()

    $.get();

    audioElement.addEventListener("load", function() {
        audioElement.play();
    }, true);

   $('.car').click(function() {
        audioElement.play();
    });


}, 3000);


function a {
setTimeout(function() { 
$('.light').attr("src","images/light-on.png");  
}, 2500);   
}

【问题讨论】:

  • 你遇到了什么错误???
  • 它运行良好,但没有循环运行。/...如何再次运行函数A一次
  • 为什么总是把图片源换成同一张图片?

标签: jquery recursion settimeout


【解决方案1】:

如果您想每 5 秒运行一次 Function a,请使用 setInterval() 而不是 setTimout()

setInterval(function(){ a(); }, 5000);

function a {
  $('.light').attr("src","images/light-on.png");
}

【讨论】:

  • 它会再次运行n次还是1次?
  • 它将再次运行@Shafqat
【解决方案2】:

您必须使用setInterval() 而不是setTimeout(),它将在 5 秒后一次又一次地运行。

setInterval(function(){ 
     $('.light').attr("src","images/light-on.png");
}, 5000);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-23
    • 2019-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-19
    • 1970-01-01
    相关资源
    最近更新 更多