Как заменить текст внутри поля jgrowl плавно?

Я устанавливаю текст в окне сообщения jgrowl. Вот пример:

function findID(whichID, command){
                    if($(whichID).length)
                    {
                        var url='<script>\n\
                         $("'+whichID+'").fadeOut().load("include/common.php?q='+command+'&p='+username+'", function(response, status, xhr) { $(this).fadeIn(); });<\/script>';
                        $(whichID).fadeOut().html(url).fadeIn();
                    }
                }

var myID0="myID0";
var data='<div id="'+myID0+'" class="arm-info"></div>';
            $('#rightcolumn').jGrowl(data, {sticky:true });
mytimerID0=window.setInterval(findID, 3000, '#'+myID0, "show_queue");

Это работает, но замена действительно вяло.

Как сделать плавный переход между двумя вызовами нагрузки?

Спасибо, Арман.

1 ответ

Решение

Возможно, замените HTML после завершения fadout, затем снова fadeIn.

$(whichID).fadeOut(function(){ $(this).html(url).fadeIn(); });

если вы делаете

$(whichID).fadeOut().html(url).fadeIn();

он заменит html одновременно с тем, как начинает исчезать.

редактировать:

ты не мог просто написать в функции findID? Я не думаю, что вам нужен тег script:

$.ajax( url:'include/common.php?q='+command+'&p='+username, 
        success: function(data){ 
           $(this).fadeOut(function(){ $(this).html(data).fadeIn(); });
        }
);
Другие вопросы по тегам