2013-07-30 27 views
0

我正在使用jQuery「load」函數從外部PHP文件獲取產品名稱&。此外,我希望使用fadeIn()函數將該文本顯示在頁面上。我如何在我的jQuery代碼中做到這一點?jquery從其他文件中獲取動畫文本

$('document').ready(function() { 
    refreshEPosts(); 
    function refreshEPosts(){ 
     $('#crPanel').load('getNewPosts.php', function(){ 
      setTimeout(refreshEPosts, 1500); 
     }); 
    } 
}); 

UPDATE

$('document').ready(function() { 
    refreshEPosts(); 
    function refreshEPosts(){ 
     $('#crPanel').load('getNewPosts.php', function(data) { 
      //For now, lets just log the data 
      console.log(data); //should be your echo'd php stuff 

      setTimeout(refreshEPosts, 1500); 
      $('#crPanel').fadeIn(data); 
     }); 
    } 
}); 
+1

什麼是從PHP文件返回...現在你只是每1.5秒調用'.load'函數。 – tymeJV

+0

它使用mysql從數據庫返回名稱和一些文本 - 我只是在頁面中回顯 –

+0

當接收到下一批數據時會發生什麼?在使用新數據更新之前,「#crPanel」應該淡出嗎? – FixMaker

回答

0

你必須真正做到與返回數據的東西。一個參數添加到您的load回調,並使用它:

$('#crPanel').load('getNewPosts.php', function(data) { 
    //For now, lets just log the data 
    console.log(data); //should be your echo'd php stuff 

    setTimeout(refreshEPosts, 1500); 
}); 
+0

現在我應該在哪裏添加淡入淡出功能? –

+0

無論你想「淡入」數據。所以,'$(「#yourSelector」)。fadeIn(data)' – tymeJV

+0

看看我的更新,我這樣做只是仍然沒有工作 –

0

試試這個:

HTML:

<div id="myDiv"></div> 

JS:

$('#crPanel').load('getNewPosts.php', function(data) { 
    $("#myDiv").fadeIn(data); 
    setTimeout(refreshEPosts, 1500); 
}); 
+0

不,不會淡入,就會出現 –

0

也許這樣的事情會工作:

$('document').ready(function() { 
    refreshEPosts(); 

    function refreshEPosts(){ 
     $('#crPanel') 
      .hide() 
      .load('getNewPosts.php', function() { 
       $('#crPanel').fadeIn(); 

       setTimeout(refreshEPosts, 1500); 
      }); 
    } 
}); 

你可以看到它的工作原理在此的jsfiddle:http://jsfiddle.net/M93Cn/

0

$('#crPanel').load()只需將返回的HTML到#crPanel當成功,所以沒有需要處理的成功函數返回的數據。

由於fadeIn()沒有接受您要顯示的數據的參數,在這種情況下調用$('#crPanel').fadeIn(data);將不起作用,只需使用$('#crPanel').fadeIn();,我相信它會工作得很好。