[Web2.0] [JS] simulare lo sleep.
Davide Michel 'ZioBudda' Morelli
michel a ziobudda.net
Gio 28 Dic 2006 10:49:33 CET
Ciao all. Sto cercando di simulare la funzione slepp, ovvero fermare
l'esecuzione della pagina HTML (leggasi: codice JS) per un numero
arbitrario di secondi.
Online ho trovato questa funzione:
function sleep(n)
{
var now = new Date();
var exitTime = now.getTime() + (n*1000);
while (true) {
now = new Date();
if (now.getTime() > exitTime) return;
}
}
Ora pero' ho uno strano comportamento che posso riassumere con questo
esempio: scrivere a rutime un qualche cosa in un div e poi fermare lo
script per 1 secondo.
Sembra una bazzecola, ma invece mi da un problema: quello che voglio
scrivere nel div arriva solamento dopo che lo script ha ripreso a
funzionare. E non capisco il perche'.
Ecco l'esempio:
<html>
<head>
<script language="javascript" type="text/javascript">
function sleep(n)
{
var now = new Date();
var exitTime = now.getTime() + (n*1000);
while (true) {
now = new Date();
if (now.getTime() > exitTime) return;
}
}
function mostra() {
tmp = document.createElement('input');
tmp.setAttribute('type','text');
tmp2= document.getElementById('miodiv');
tmp2.appendChild(tmp);
//Questa l'ho scritta io per provarle tutte.
tmp2.innerHTML = tmp2.innerHTML;
sleep(1);
}
</script>
</head>
<body>
<a href="#" onclick="mostra()">Clicca</a>
<div id="miodiv" style=""></div>
</body>
</html>
Ho lo stesso problema sia su FF2.0 che su IE 6.
Grazie e ciao.
M.
--
Michel 'ZioBudda' Morelli michel a ziobudda.net
Consulenza sistemistica in ambito OpenSource.
Sviluppo applicazioni web dinamiche (LAMP+Ajax)
Telefono: +39-0240706096 -- Fax: +39-0291390660
http://www.ziobudda.net ICQ: 58351764
http://www.ziobuddalabs.it Skype: zio_budda
http://www.ajaxblog.it
Maggiori informazioni sulla lista
Web2.0