Así sería como yo dejaría el código, pero es cierto, para aumentar la velocidad, se depende de lo que le sumes a et, y como te dijo maycolalvarez, si quieres que se aumente la velocidad esa es la única opción, por que incluso le puse como tiempo de demora al setInterval solo cero (0), y seguía igual de lento.
Código Javascript
:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Reto 2</title>
<script type="text/javascript">
window.onload = function () {
document.getElementById("r1").onclick = enviarMensaje;
document.getElementById("r2").onclick = enviarMensaje;
}
function enviarMensaje (evt) {
if (evt.target.id == "r1") {
setInterval(mensaje,6, "capa2" );
} else {
setInterval(mensaje,6, "capa3");
}
}
function mensaje(a){
var et = parseInt(document.getElementById(a).style.height);
et += 3;
document.getElementById(a).style.height = et+"px";
}
</script>
</head>
<body>
<input type="button" id="r1" value="Recoger" />
<input type="button" id="r2" value="Recoger" />
<div id="capa2" style="width:720px; height:305px; background-color: #CC0000; position:relative;"></div>
<div id="capa3" style="width:720px; height:305px; background-color: #CCFF00; position:relative;"></div>
</body>
</html>
Si no estás contento con mi opción, por favor explica más detalladamente que es lo que quieres lograr.
Saludos.