2011-05-10 69 views
1

我想讓div每4秒反彈一次,並在15秒後退出。下面的代碼使div消失,反彈不會發生。setInverval和延遲

$(document).ready(function(){ 
    function salta() { 
     $('.recomenda').effect("bounce",{ times:4 },300); 
    } 
    setInterval(salta, 4000); 
    $('.recomenda').delay(15000).fadeout('slow'); 
}); 

這不是做這份工作,你可以給我什麼提示嗎?

親切的問候。

馬特的幫助下,我想出如何做到這一點:

function salta() { 
    $('.recomenda').effect("bounce",{ times:4 },300); 
} 
    var interval = setInterval(salta, 3500); 

setTimeout(function(){ 
    clearInterval(interval); 
    $('.recomenda').fadeOut('slow'); 
    }, 15000); 
+0

什麼是不工作? – lonesomeday 2011-05-10 15:34:52

回答

3

編輯 - 最終版本

$(document).ready(function() 
{ 
    var $recomenda = $('.recomenda'); 

    function salta() 
    { 
     $recomenda.effect('bounce', {times:4}, 300); 
    } 

    salta(); 
    var interval = setInterval(salta, 4000); 

    setTimeout(function() 
    { 
     // stop the interval from running unnecessarily 
     clearInterval(interval); 
     $recomenda.fadeOut('slow'); 
    }, 15000); 
}); 

還有其他2個問題:

  • fadeout()而不是​​
  • 使用.delay()與反彈效應干擾

演示:http://jsfiddle.net/mattball/a2F3W/

+0

@Matt球,這將使一個循環和一次又一次地執行該功能,我想反彈重複和15秒後div將消失。 – Souza 2011-05-10 15:38:27

+0

對不起,我誤解了你的代碼。我認爲唯一的問題實際上是語法錯誤。 – 2011-05-10 15:42:08

+0

@Matt Ball,錯誤在哪裏? – Souza 2011-05-10 15:43:52