如何顺利替换jgrowl框内的文本?

时间:2010-12-20 21:26:20

标签: jquery 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 个答案:

答案 0 :(得分:1)

可能在fadout完成后替换html,然后再次fadeIn。

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

如果你这样做

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

它会在它开始消失的同时替换html。

编辑:

你不能只在findID函数中写吗?我认为您不需要脚本标记:

$.ajax( url:'include/common.php?q='+command+'&p='+username, 
        success: function(data){ 
           $(this).fadeOut(function(){ $(this).html(data).fadeIn(); });
        }
);