var villains = 500; var hero = 500; function beth() { he(); } function betv() { } function he() { setTimeout(function() { var x = Math.floor((Math.random() * 300) + 1); var vhp = villains - x; villains=vhp; if (villains< 0 ) { document.getElementById("res1").innerHTML = "Heroes have won"; document.getElementById("res2").innerHTML = "<br/>Villains have lost to heroes"; } else { document.getElementById("res1").innerHTML += "<br/>Heroes have dealt " + x + " damage on villains.<br/>Villains have " + vhp + " hp left."; vok(); } },3000); } function vok() { setTimeout(function() { var y = Math.floor((Math.random() * 300) + 1); var hhp = hero - y; hero=hhp; if (hero<0) { document.getElementById("res2").innerHTML = "<br/>Heroes have " + 0 +" Hp left"; document.getElementById("res1").innerHTML = "<br/>Heroes have lost to villains"; } else { document.getElementById("res2").innerHTML += "<br/>Villains have dealt " + y + " damage on Heroes.<br/>Heroes have " + hhp + " hp left."; he(); } },3000); }Abve Code es para js su impresión text1 newtext2 newtext3 mientras que quiero text1 text2 newtext1 newtext2 newnewtext1 newnewtext2. ¿Algún consejo o sugerencia de cómo podemos hacerlo? Agradecería cualquier respuesta o comentario . También quiero que después del final se cumpla la condición para restablecer todo
Está reemplazando el span cada vez asignándole un nuevo valor (=). En su lugar, debe agregar el valor usando += , donde quiera que se agregue su valor de intervalo.
document.getElementById("res1").innerHTML += "Heroes have dealt " + x + " damage on villains.";En este momento, está utilizando el operador = , lo que significa reemplazar/sobrescribir el valor establecido actualmente en el elemento HTML (en este caso, el elemento span ).
Para solucionar este problema, debe reemplazar = con += . El operador += se agrega al final de la cadena, en lugar de sobrescribir el texto.
Entonces, cambiaría su código para que sea el siguiente. El siguiente código actualiza la etiqueta span para tener texto adicional al final, en lugar de sobrescribirlo todo.
const welcome = document.querySelector("#welcome"); welcome.innerHTML += "I'm on Stack Overflow!"; <!-- Extra whitespace is intentional --> <span id="welcome">Hello! </span>Sin embargo, si desea agregar algo de texto al principio del texto, puede usar el código a continuación.
const intro = document.querySelector("#intro"); // The whitespace is intentional intro.innerHTML = "Welcome to Stack Overflow! " + intro.innerHTML <span id="intro">First check the Help page.</span>En conclusión, hay dos formas de agregar a HTML.
+= .+ (con código adicional).