JQuery AJAX успеха исчезают эффекты - PullRequest
4 голосов
/ 30 июня 2011

Я хотел бы сделать некоторые эффекты, такие как fadeIn на странице, как только я получу ответ ajax.Я пробовал это,

$.ajax({
        type: "post",
        url: actionLink,
        cache: false,
        data: ....someData....,
        success: function(data) {
           $(".response").fadeOut(100);
           $(".response").html(data);
           $(".response").fadeIn(500);
        }
    });

Это работает, но данные отображаются в первую очередь и со вспышкой 500 мс, получая данные с эффектом замирания, но мне нужно получить загруженные данные напрямую с эффектом замирания.

Я даже пытался с Исчезнуть div с содержимым A и Fade In в том же div с содержимым B , но я все еще получаю ту же проблему.

Я также пытался:

$(".response").fadeOut(100).hide();
$(".response").show().html(data).fadeIn(500);

Все так же.Как мне это исправить?

Ответы [ 5 ]

5 голосов
/ 30 июня 2011

Эта штука сработала .........

jQuery(".response").fadeOut( 100 , function() {
    jQuery(this).html( data);
}).fadeIn( 1000 );
2 голосов
/ 30 июня 2011

Вы пробовали:

$(".response").fadeOut(100).html(data).fadeIn(500)
0 голосов
/ 20 ноября 2014

Самым простым способом, который я нашел, было установить начальное значение fadeOut () на «0». Это сработало отлично:

$(".response").fadeOut(0).html(result).fadeIn(500);

Поскольку установка начального значения fadeOut () с фактическим значением делает его «всплывающим», а затем затухающим. Все еще не желаемый результат.

Таким образом, установив начальный fadeOut в 0, это означает, что он не тратит десятые доли секунды на затухание до появления. Так что вы не получите странного эффекта.

0 голосов
/ 24 января 2013
success:function(data)
{
   $(".response").fadeOut(600, function ()
       {
          $(".response").html(data)
        });
   $(".response").fadeIn(600);
}
0 голосов
/ 30 июня 2011

Попробуйте $(".response").fadeOut(100).delay(100).html(data).fadeIn(500)

Это заставит последующие операции (добавление html в ваш div) ждать до завершения fadeOut.

...