2013-08-14 4 views
1

Вероятно, простой вопрос, но я пытался заставить его работать в течение нескольких часов. Я попробовал почти все, что я нашел об этом, в stackoverflow, но ничего не работает. Может, пара свежих глаз может мне сказать, как это сделать.ajax post увядает после успеха

Я хочу затухать в div после вызова этой функции javascript.

  function getRequest(){ 
      $.ajax({ 
       type : "POST", 
       url : "/includes/requests.php", 
       data : "mode=get_requests", 
       success : function(result) { $("#requests").html(result); 
        $('#requests').fadeIn(9000); 
       } 
      }); 

     } 

EDIT: Спасибо всем. Это

$('#requests').hide().fadeIn(9000); 

сделало это.

+0

Что делать вместо этого? Является ли возврат ajax успешным? –

+0

Можете ли вы предоставить HTML? – asymptoticFault

+0

Функция возвращается успешно, да. Все загружено. Но нет. Если я добавлю fadeOut() перед fadeIn, он будет медленно загружаться, но затем он исчезнет. – user2285451

ответ

3
$('#requests').hide().fadeIn(9000); 

Вам необходимо сделать элемент скрытым, прежде чем вы сможете его показать. следовательно .hide() затем .fadeIn().

1
$('#requests').hide(); 
function getRequest(){ 
    $.ajax({ 
     type : "POST", 
     url : "/includes/requests.php", 
     data : "mode=get_requests", 
     success : function(result) { 
      $("#requests").html(result); 
     } 
    }).fail(function() { 
     $('#requests').html('The AJAX failed!!'); 
    }).always(function() { 
     $('#requests').fadeIn(9000); 
    }); 
} 

Вы функциональность усиления, помещая метод .fadeIn() в .always() обратного вызова, потому что вы будете знать, является ли или не был успешным AJAX.

0

Вам нужно, чтобы скрыть элемент, прежде чем угасание его, так как он уже виден пользователю, например:

$('#requests').hide().fadeIn(9000); 
Смежные вопросы