Alternativa al setinterval o sleep en javascript

Iniciado por WHK, 6 Diciembre 2011, 14:02 PM

0 Miembros y 1 Visitante están viendo este tema.

WHK

A veces necesitamos hacer un sleep sin utilizar setinterval o settimeout, me ha pasado a mi por diferentes motivos y se me ocurrió hacer un pequeño script que utiliza animaciones para retardar la ejecución del resto del código, se que no es algo nuevo pero talves le pueda servir a algunos

Código (html4strict) [Seleccionar]
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
</head>
<body>
<script>
$(document).ready(function(){
function check(){
/* Mi código acá */

/* sleep */
$('#sleep').fadeOut('slow', function(){
$('#sleep').fadeIn('slow', check());
});
}
check();
});
</script>
Verificando <span id="sleep">_</span>
</body>
</html>


Un reloj con esto:
Código (html4strict) [Seleccionar]
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
</head>
<body>
<script>
$(document).ready(function(){
function check(){
var h = new Date();
$('#reloj').text(h.getHours() + ':' + h.getMinutes() + ':' + h.getSeconds());
/* sleep */
$('#sleep').fadeOut(1000, function(){ /* 1 segundo de intervlo */
$('#sleep').fadeIn(0, check());
});
}
check();
});
</script>
Reloj: <span id="reloj"></span> <span id="sleep"></span>
</body>
</html>


Saludos.