Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将setTimeout替换为setinterval,有人能帮我解决这个问题吗 我目前正处于测试网站的建设中,以帮助我更好地理解编码,并试图更好地理解它们是如何组合在一起的。_Javascript_Html_Css_Web - Fatal编程技术网

Javascript 将setTimeout替换为setinterval,有人能帮我解决这个问题吗 我目前正处于测试网站的建设中,以帮助我更好地理解编码,并试图更好地理解它们是如何组合在一起的。

Javascript 将setTimeout替换为setinterval,有人能帮我解决这个问题吗 我目前正处于测试网站的建设中,以帮助我更好地理解编码,并试图更好地理解它们是如何组合在一起的。,javascript,html,css,web,Javascript,Html,Css,Web,我的问题是- 我在网站的一个部分有很多引语,它们淡入,然后滑出,显示出一个新的引语。 这是我犯的错误。我把它设置得很好,这样它就可以在所有的引号中循环…但之后就停止了。我希望他们能重复一遍。我知道我的错误是使用.setTimeout函数而不是setInterval代码 我的问题是,有没有一个简单的解决方案来交换代码,我花了很长时间才明白这个lol 下面是代码供您查看。任何帮助都将不胜感激 $(function(){ setTimeout(function() { $("#jobs

我的问题是- 我在网站的一个部分有很多引语,它们淡入,然后滑出,显示出一个新的引语。 这是我犯的错误。我把它设置得很好,这样它就可以在所有的引号中循环…但之后就停止了。我希望他们能重复一遍。我知道我的错误是使用.setTimeout函数而不是setInterval代码

我的问题是,有没有一个简单的解决方案来交换代码,我花了很长时间才明白这个lol

下面是代码供您查看。任何帮助都将不胜感激

$(function(){
setTimeout(function()
    {
    $("#jobs_1").slideUp(800);
    }, 4000); 
});
$(function(){
setTimeout(function()
    {
    $("#jobs_2").fadeIn(400);
    }, 4800); 
}); 
$(function(){
setTimeout(function()
    {
    $("#jobs_2").slideUp(800);
    }, 8000); 
});
$(function(){
setTimeout(function()
    {
    $("#jobs_3").fadeIn(400);
    }, 8800); 
});     
$(function(){
setTimeout(function()
    {
    $("#jobs_3").slideUp(800);
    }, 12000); 
});
$(function(){
setTimeout(function()
    {
    $("#jobs_4").fadeIn(400);
    }, 12800); 
});
$(function(){
setTimeout(function()
    {
    $("#jobs_4").slideUp(800);
    }, 16000); 
});
$(function(){
setTimeout(function()
    {
    $("#jobs_1").fadeIn(400);
    }, 16800); 


});     

非常感谢

这应该对您有所帮助。它是如何工作的? 将当前作业计数器设置为0。然后,使用setInterval,每3秒运行一次main函数,该函数将递增作业计数器。如果计数器超过4(您的上一个作业),则隐藏作业4并淡入第一个作业。否则,请滑出上一个作业并淡入新作业

$(function(){
    count = 1;

    x = setInterval(function(){
        count++;
        if( count > 4) {
            $('jobs_4').hide(function(){
                $('#jobs_1').fadeIn();
            });

            count = 1
        } else {
            $('#jobs_' + (count-1)).slideUp(function(){
                $('#jobs_' + (count-1)).fadeIn();
            });
        }

    }, 3000);
}

可以将所有块名移动到堆栈中,并使用一个函数:

var blocks = ['jobs_1', 'jobs_2', 'jobs_3', 'jobs_4'];
var curentBlockIndex = 0;
setInterval(function(){
    var nextBlockIndex = curentBlockIndex + 1;
    if (nextBlockIndex >= blocks.length) nextBlockIndex = 0;
    $('#' + blocks[curentBlockIndex]).slideUp(800, function(){
        $('#' + blocks[nextBlockIndex]).fadeIn(400);
    });

    curentBlockIndex = nextBlockIndex;
}, 4000);

你的问题到底是什么?如何以最快的速度替换所有出现的
setTimeout
?问题是我希望我的引号重复,但因为我使用的是setTimeout,它们在末尾停止,我如何将setTimeout替换为setinterval并使其工作。对不起,如果我描述得不完美,我仍在学习我自己我想我理解它,对不起,我是一个完全的傻瓜,我仍试图把我的头围绕着这一切。我将对此进行测试,并发布结果。非常感谢。