2013-07-30 29 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();,我相信它会工作得很好。