2013-07-30 8 views
0

Я получаю имя продукта & его описание из внешнего PHP-файла с помощью функции загрузки «jQuery». Кроме того, я хочу, чтобы этот текст отображался на странице с помощью функции 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 ... прямо сейчас вы просто вызываете функцию '.load' каждые 1,5 секунды. – tymeJV

+0

он возвращает имя и некоторый текст из базы данных, используя mysql-im, просто повторяя его на странице tht. –

+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

Теперь, где я должен добавить функции fadein? –

+0

Везде, где вы хотите «fadeIn» данных. Итак, '$ (" # 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

nope, он не исчезает, просто появляется –

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();, и я считаю, что это будет работать очень хорошо.

Смежные вопросы