2013-08-20 41 views
-1

好吧,所以我有一個AJAX長時間輪詢運行,每次數據庫更新時,我有jQuery將從ajax接收到的信息添加到div中。Jquery Prepend動畫只能與AJAX一起工作

每次數據庫更新時,jquery都會添加這些信息,但它只會在第一次執行動畫。我嘗試了很多不同的東西,並得到了很多不同的和一些奇怪的結果。我是Jquery的新手,所以如果你能詳細說明你的解釋,將不勝感激。

這裏是我的AJAX功能。

$.ajax({ 
     type: 'POST', 
     url: 'feedupdate.php', 
     data: {function: '3test', datacheck: var_numcheck, javaid: var_IDcheck}, 
     success: function (check) { 
      console.log(check); 
      var verify = JSON.parse(check); 

      if (var_IDcheck < verify['id']) { 
       var_IDcheck = verify['id']; 
       for (var i=0;i<var_IDcheck;i++){ 
        $('#datacheck').prepend(verify[i]).slideDown('slow'); 




      } 
      } 
      setTimeout('activitycheck()',5000); 
      }, 
    error: function(check) { 
    console.log(check); 
    setTimeout('activitycheck()',5000); 
     } 
     }); 
    } 


    $(document).ready(function() { 
    activitycheck(); 
    }); // document ready 
+0

擺脫'的setTimeout( 'activitycheck()',5000)的;'你有他們的兩個地方。並把它放在document.ready中,而不是'activitycheck()'。 –

+0

好的,我會嘗試。 – user2444298

+1

另外,我強烈的缺點只是'setTimeout('activitycheck()',5000)''的使用。將其更改爲:'setTimeout(function(){activitycheck()},5000);'或者僅僅爲:'setTimeout(activitycheck,5000);'當您不需要活動檢查中的任何參數時。 – svenbravo7

回答

0

我不認爲setTimeout('activitycheck()',5000);是寫選擇使用

setInterval('activitycheck()',5000); 

它幫了我很多。

http://forum.jquery.com/topic/jquery-setinterval-function

+0

長期民意測驗的作品,但問題是相同的:/ – user2444298

+0

你不必調用設置的時間間隔2次,你可以很容易地寫出它的功能邊會直接打電話給你,你可以把它寫在標籤上面 – Lucifer