tengo este codigo:
function addInDiv() { let div = document.getElementById("divName"); div.innerHTML += '<p>' + "test" + '</p>' } setInterval(addInDiv, 1000);este código hace
<p>test</p> <p>test</p> <p>test</p> <p>test</p> <p>test</p>... infinitamente e inundar la CPU de la computadora.
Me gustaría que "divName" solo contenga las últimas 5 líneas que ha agregado div.innerHTML
Entonces, ¿cómo puedo mostrar las últimas 5 líneas mostradas para no inundar la página html y la CPU de la PC?
Gracias
Almacene la cantidad de elementos agregados en una variable, increméntela cada vez que agregue y verifique si se agregaron 5 veces o no. Si es así, cancele el intervalo.
var appended = 0; var interval function addInDiv() { if (++appended == 6) { clearInterval(interval) } let div = document.getElementById("divName"); div.innerHTML += '<p>' + "test" + '</p>' } interval = setInterval(addInDiv, 1000); <div id="divName"></div>Con jQuery:
var counter = 0; function addInDiv() { counter++ if(counter <= 5) { $('#divName').append('<p>' + "test" + '</p>'); } } setInterval(addInDiv, 1000);