我正在为网页创建一个textarea元素,该元素将根据用户的指示显示某些输出。
例如
var Logger = {
log: function (line) {
$('logTextArea').append(line + '\n);
}
}
当我执行追加时,是否有一种简单的方法只保留最后100个条目以消除其余部分?
答案 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;
请注意,我已将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>