一次加载一行

时间:2011-04-30 23:40:18

标签: jquery

我想知道是否有办法让jquery一次加载一行。我用

var old = $('#screen').html(),
    str = $.URLEncode(glength);

$('#screen').load('returns.php?c='+str+'',{},function(response, status, xhr){
    if (status == "error") {
      var msg = "FATAL ERROR: ";
      $("#screen").html("\n"+ xhr.status);
      $(this).prepend(old);
    } else {
        $(this).prepend(old);
        $('#command').focus();
    }
});

加载数据。 #screen是预备。它变得像这样的变量:

******************************************************************************
login [username] [email]          | Log in to the system
logout                            | Log out of the system
data                              | Display logged in user information
******************************************************************************

这是可能的,还是我在做梦?

2 个答案:

答案 0 :(得分:1)

response您的所有数据都是多行吗?

您可以使用setTimeout

var lines = response.split("\n");

var time = 0;
$(lines).each(function(i) {
    setTimeout(function(){
        $("<span />").html(this).prependTo("place");
    }, time);
    time += 200;
});

将追加所有行,每行之间约有200ms个延迟。

答案 1 :(得分:0)

将您从服务器收到的行分开。然后使用setTimeout一个接一个地显示它们。如果需要,您甚至可以逐个字符地显示它。查看Greplin challenge以获取示例。如果你想要代码,我会给你一个例子。