2013-11-05 46 views
0

我想5秒钟后,开始动画(所以不正确的页面加载时,但几秒钟后)使用动画前延迟开始,而不是排队延迟

我尝试使用延迟,但它似乎没有工作,我错在哪里?有没有一种方法来创建一个计时器,让它在开始前倒数?

$(document).ready(function(){ 
    $(".info").delay(5000).css({marginLeft:'-999px'}).animate(
     {marginLeft: '0px'},{duration: 2000, queue:false}); 
    $(".jamey").css({left:'999px'}).animate(
     {left:'606px'},{duration:2000, queue: false}); 
    $(".jamey2").css({left:'999px'}).animate(
     {left:'606px'},{duration:2000, queue: false}); 
    $(".rip-date").css({left:'999px'}).animate(
     {left:'375px'}, {duration:2000, queue: false}); 
    $('#overlay').animate({ opacity: 1, }, 5000, function(){ 
      // done fading. 
    }); 
    $(".info").css({color:'#191919'}); 
+0

_.delay()_增加的延迟给你打电话它的元素的动画/特效队列,它不会暂停执行JS。因此,您显示的代码只会延迟_“。info”_元素上的动画,而不会延迟其他动画。除了你有每一个动画,包括那个设置为_queue:false,_一个不必要的设置。 – nnnnnn

回答

0

delay通常更适合在动画之间添加延迟。在这种情况下,我会用一个setTimeout

$(document).ready(function() { 
    setTimeout(function() { 
     //Your code here... 
    }, 5000); 
}); 
+0

非常感谢你!我知道这样的事情存在,我只是不确定它可能被称为什么。 –