Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.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/Jquery中的setTimeout_Javascript_Jquery_Html - Fatal编程技术网

Javascript/Jquery中的setTimeout

Javascript/Jquery中的setTimeout,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试测试一个fadein和fadeout函数,该函数使用不同的内容在周围循环 var next = null; var outer = $('.twitter'); var current = outer.find('.twitterinner:first'); current.fadeIn(); function fade() { if (current.next('div.twitterinner').length > 0)

我正在尝试测试一个fadein和fadeout函数,该函数使用不同的内容在周围循环

    var next = null;
    var outer = $('.twitter');
    var current = outer.find('.twitterinner:first');
    current.fadeIn();
    function fade() {
        if (current.next('div.twitterinner').length > 0) {
            next = current.next('div.twitterinner');
        } else {
            next = outer.find('div.twitterinner:first');
        }

        current.fadeOut(500);
        setTimeout(function(){
            next.FadeIn(500);
        },1000);
//      next.fadeIn(500);
        current = next;
        setTimeout(fade, 2000);
    }
    fade();
还有html

<div class="col-xs-12 col-md-12 padding twitter">    
    <div class="twitterinner">Jellyfish Webdesign was afgelopen weekend aanwezig bij #YoutopiaArtsFestifal in het #Lloydhotel in A'dam! De website hebben we gesponsord.<br></div>
    <div class="twitterinner">Laat uw email adres achter via http://t.co/MHUXpcY1NE om op de hoogte te blijven van onze nieuwe website release. #Jellyfishux<br></div>
    <div class="twitterinner">Jellyfish Webdesign is vandaag officieel live gegaan! Voor meer informatie bezoek onze website, http://t.co/MHUXpcY1NE #jellyfishux<br></div>                
</div>

“水母”网站设计是一个开放式周末,aanwezig bij#Youtopiartsfestifal在het#Lloydhotel在A'dam!我们赞助的网站。
Laat uw电子邮件地址:通过http://t.co/MHUXpcY1NE om op de hoogte te blijven van onze nieuwe网站发布#水母糖
水母网站设计是vandaag officieel live gegaan!Voor meer informatie bezoek onze网站,http://t.co/MHUXpcY1NE #水母糖

如果我在启动后删除setTimeout,它会正常运行(并且我再次包含了fadeIn),但是一旦我添加了setTimeout和fadeIn函数,它就会停止工作。我似乎找不到哪里出错了。有人能给我指出正确的方向吗?

如果你想在动画之后执行一些东西,你可以这样做(链接)

要循环,我建议您使用interval而不是setTimeout

setInterval(fade, 2000);

如果要在动画之后执行某些操作,可以这样做(链接)

要循环,我建议您使用interval而不是setTimeout

setInterval(fade, 2000);

我认为您必须使用
setInterval()
而不是
setTimeout()
,因为您的函数会被重复调用。请参阅下面的代码

注意-请更正
fadeIn(500)
的拼写,它以小的
f
开头

var next = null;
    var outer = $('.twitter');
    var current = outer.find('.twitterinner:first');
    current.fadeIn();
    function fade() {
        if (current.next('div.twitterinner').length > 0) {
            next = current.next('div.twitterinner');
        } else {
            next = outer.find('div.twitterinner:first');
        }

        current.fadeOut(500, function(){
           next.fadeIn(500);
            current = next;
        });
    }
   setInterval(fade,2000);

我认为您必须使用
setInterval()
而不是
setTimeout()
,因为您的函数会被重复调用。请参阅下面的代码

注意-请更正
fadeIn(500)
的拼写,它以小的
f
开头

var next = null;
    var outer = $('.twitter');
    var current = outer.find('.twitterinner:first');
    current.fadeIn();
    function fade() {
        if (current.next('div.twitterinner').length > 0) {
            next = current.next('div.twitterinner');
        } else {
            next = outer.find('div.twitterinner:first');
        }

        current.fadeOut(500, function(){
           next.fadeIn(500);
            current = next;
        });
    }
   setInterval(fade,2000);

在“FadeIn”中,“f”应该很小

您的代码:

setTimeout(function(){
        next.FadeIn(500);
    },1000);
实际代码:

setTimeout(function(){
        next.fadeIn(500);
    },1000);
在“FadeIn”中,“f”应该是小的

您的代码:

setTimeout(function(){
        next.FadeIn(500);
    },1000);
实际代码:

setTimeout(function(){
        next.fadeIn(500);
    },1000);
尝试设置间隔

var i = 0;

setInterval(function() {
    $(".twitterinner").fadeOut("fast");
           $(".twitterinner").eq(i).fadeIn("slow");

     i++;
    if(i == $(".twitterinner").length){
       i = 0;   
    }


} ,1000);

尝试设置间隔

var i = 0;

setInterval(function() {
    $(".twitterinner").fadeOut("fast");
           $(".twitterinner").eq(i).fadeIn("slow");

     i++;
    if(i == $(".twitterinner").length){
       i = 0;   
    }


} ,1000);

您可以使用setInterval,但如果您更喜欢使用setTimeout来控制它,最好是在同一时间内只设置一个超时,并使用回调链接调用

诸如此类:

函数淡入淡出(){
if(当前.next('div.twitterinner')。长度>0){
next=当前.next('div.twitterinner');
} 
否则{
next=outer.find('div.twitterinner:first');
}
电流衰减(500,函数(){
//500毫秒后执行
next.delay(500).fadeIn(500,function(){
//500+500+500=1500毫秒后执行;
当前=下一个;
setTimeout(淡入淡出,500);//在1500+500=2000毫秒后执行。
});
});
}
或者,如果希望有一个更清晰的脚本来执行所有这些,可以为每个步骤定义一个函数(如果动画变得更复杂,这将非常有用):

函数淡入淡出(){
if(当前.next('div.twitterinner')。长度>0){
next=当前.next('div.twitterinner');
} 
否则{
next=outer.find('div.twitterinner:first');
}
电流衰减(500,步骤2);
函数step2(){
//500毫秒后执行
next.delay(500).fadeIn(500,步骤3);
}
函数step3(){
//500+500+500=1500毫秒后执行;
当前=下一个;
setTimeout(淡入淡出,500);//在1500+500=2000毫秒后执行。
}
}

您可以使用setInterval,但如果您更喜欢使用setTimeout来控制它,最好是在同一时间内只设置一个超时,并使用回调链接调用

诸如此类:

函数淡入淡出(){
if(当前.next('div.twitterinner')。长度>0){
next=当前.next('div.twitterinner');
} 
否则{
next=outer.find('div.twitterinner:first');
}
电流衰减(500,函数(){
//500毫秒后执行
next.delay(500).fadeIn(500,function(){
//500+500+500=1500毫秒后执行;
当前=下一个;
setTimeout(淡入淡出,500);//在1500+500=2000毫秒后执行。
});
});
}
或者,如果希望有一个更清晰的脚本来执行所有这些,可以为每个步骤定义一个函数(如果动画变得更复杂,这将非常有用):

函数淡入淡出(){
if(当前.next('div.twitterinner')。长度>0){
next=当前.next('div.twitterinner');
} 
否则{
next=outer.find('div.twitterinner:first');
}
电流衰减(500,步骤2);
函数step2(){
//500毫秒后执行
next.delay(500).fadeIn(500,步骤3);
}
函数step3(){
//500+500+500=1500毫秒后执行;
当前=下一个;
setTimeout(淡入淡出,500);//在1500+500=2000毫秒后执行。
}
}

setTimeout
工作于a-synch-ron-ous-ly。想想看,
:)
如果我告诉你fade有一个回调
FadeIn!=fadeIn
-我知道,使用fade:)Javascript对我来说仍然是新领域。谢谢大家的大力支持。法登确实是为我做的。我很高兴我看到了很多解决这个问题的替代方法,老实说,我从来没有想过使用
setInterval
setTimeout
工作于a-synch-ron-ous-ly。想想看,
:)
如果我告诉你fade有一个回调
FadeIn!=fadeIn
-我知道,使用fade:)Javascript对我来说仍然是新领域。谢谢大家的大力支持。法登确实是为我做的。我很高兴我看到了很多解决这个问题的替代方法,老实说,我从来没有想过使用
setInterval
。setInterval是一个很好的方法(老实说,我从来没有想过。我不得不做一些阅读),但我必须指出,在你的代码中没有提供我想要的淡出和返回之间的超时。它们重叠,但事实并非如此