Jquery создать эффект после загрузки - PullRequest
0 голосов
/ 20 сентября 2011

У меня есть эта функция:

 $(".delete").live('click', function() {
  var commentContainer = $(this).parent();
        var id = $(this).attr("id");            
        var string = 'id='+ id ;    
    $.ajax({   
       url: "<?php echo site_url('messages/delete') ?>",
       type: "POST",
       data: string,
       cache: false,
       success: function(){
          commentContainer.slideUp('600', function() {$(this).remove();
             $('.messages').fadeOut('2000', function(){$(this).remove();
                $('#messages').load("<?php echo site_url('messages/show') ?>", function(){
                    $(this).slideDown('2000');
                    deleteConfirmSetup(qst); // Add function call here
                });
            }); 
        });             
    } 
  });
  return false;
});

Работает до нагрузки.Это загрузка данных, но слайд-даун отсутствует - данные внезапно представляются.Как это исправить?

Ответы [ 2 ]

1 голос
/ 20 сентября 2011

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

    $('#messages').load("<?php echo site_url('messages/show') ?>", function(){
         $(this).hide().slideDown('2000'); //modify this
         deleteConfirmSetup(qst); // Add function call here
    });        
0 голосов
/ 20 сентября 2011

Эта строка:

$(this).slideDown('2000');

должно быть commentContainer.slideDown('2000');

Я просто догадываюсь, используя ваши имена, хотя вы могли бы уточнить?

...