如何只显示最后100行

时间:2016-03-01 18:27:01

标签: javascript jquery html

我正在为网页创建一个textarea元素,该元素将根据用户的指示显示某些输出。

例如

var Logger = {
  log: function (line) {
      $('logTextArea').append(line + '\n);
   }
}

当我执行追加时,是否有一种简单的方法只保留最后100个条目以消除其余部分?

2 个答案:

答案 0 :(得分:3)

我建议只保留一系列线条,然后将新线条推到它上面,然后关闭线条。然后只需使用rename转换为字符串并将textarea设置为该值。



<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<textarea id="logTextArea"></textarea>
&#13;
Callable<Boolean> callable = new Callable<Boolean>() {
    public Boolean call() throws Exception {
        return true; // do something useful here
    }
};

Retryer<Boolean> retryer = RetryerBuilder.<Boolean>newBuilder()
        .retryIfResult(Predicates.<Boolean>isNull())
        .retryIfExceptionOfType(IOException.class)
        .retryIfRuntimeException()
        .withStopStrategy(StopStrategies.stopAfterAttempt(3))
        .build();
try {
    retryer.call(callable);
} catch (RetryException e) {
    e.printStackTrace();
} catch (ExecutionException e) {
    e.printStackTrace();
}
&#13;
SELECT TOP 100 l_Name FROM lessee
&#13;
&#13;
&#13;

请注意,我已将Logger对象更新为返回对象的函数。这使得跟踪线条成为可能,而不会将其暴露给世界其他地方。

答案 1 :(得分:1)

您需要拆分新行并将最后100行切掉。为了缩短演示时间,我最后使用了5行。

function addTime() {
   var ts = new Date().toLocaleString();
   var textarea = document.querySelector("#x");
   var txt = textarea.value.length ? textarea.value.split(/\n/g) : [];
   txt.push(ts);
   textarea.value = txt.slice(-5).join("\n");
}

window.setInterval(addTime, 1000);
<textarea id="x" rows="10"></textarea>