Hola, chicos espero puedan ayudarme.. les cuento uqe tengo un bucle en javascript que levanta escribe en la db con ajax .. y tengo una barra de progreso que se va llenando mediante el porcentaje completado. el problema es que mientras esta trabajando el bucle me cuelga el explorador.. hice la prueba poniendo alerts en el bucle para saber si la barra de progreso funcionaba y funciona bien.. hay alguna manera de hacer algo para uqe esto no pase.. que trabaje de fondo el bucle o que me deje seguir haciendo otras cosas mientras esta trabajando?
les paso y muestro el script:
Código PHP:
<script>
//------ AJAX -----\\
function getDataServer(url, vars){
var _xmlhttp = null;
try{
_xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(expeption){
_xmlhttp = new XMLHttpRequest();
}
_xmlhttp.open("GET",url + vars, false);
_xmlhttp.send(null);
if(_xmlhttp.status == 404) alert("Url no valida");
return _xmlhttp.responseText;
}
//------ FIN AJAX -----\\
var id;
var viejo;
var nuevo;
function activar (total){
//var activar = function (total){
for (x=1; x<total+1; x++){
// alert(document.getElementById("ID_"+x).value);
id = document.getElementById("ID_"+x).value;
viejo = document.getElementById("OLD_"+id).value;
nuevo = document.getElementById("PR_"+id).value;
var consulta = getDataServer("./_scripts/get_art.php","?ModPrecioID="+id+"&p_viejo="+viejo+"&p_nuevo="+nuevo);
if(consulta){
Porcentaje (x, total);
}else{
alert("Error item "+id);
Porcentaje (x, total);
}
//break;
//continue;
//setTimeout(activar, 1000);
} //-- fin for
}
function Porcentaje (x, total){
var porciento = Math.round(100 * x / total);
ancho = porciento * 92 / 100; //porcentaje * anche de imagen / 100 = pixels
document.getElementById('progresoIMG').style.width = ancho + "px";
document.getElementById('progresoTexto').innerHTML = porciento + "%";
}
</script>
muchas gracias y espero que puedan ayudarme..