JavaScript - Ayuda con lista que se llena de a poco

 
Vista:

Ayuda con lista que se llena de a poco

Publicado por Carlos (1 intervención) el 02/06/2008 19:53:03
Hola

Tengo un problema, lo que debo hacer es recorrer unos directorios con fotos de productos, y estas fotos recogerlas y procesarlas, creando una foto pequeña y una grande para llenar una base de datos. La ubicacion de la foto en la base de datos la saco del nombre de la foto conformado por AAAA-100-100.

El problema es que son muchas fotos, por lo que una pagina en php se demoraria mucho en hacerlo.

Lo que intente hacer es solo una pagina con funciones en Javascript, en las que voy llamando a paginas en php recogiendo los resultados que estas den y mostrandolos por pantalla.

El problema que tengo es que una funcion en javascript no espera que finalice la anterior y carga de inmediato por lo que todo se bloquea, ademas el comportamiento es distinto en IE y Mozilla, en mozilla casi nunca se ejecuta bien. En IE se ejecuta bien y solo algunas veces falla.

esto es lo que tengo, la funcion directorio solo lista los directorios verificando que los nombres de estos existan en la base de datos, la segunda llamada imagenes lista las imagenes en cada directorio. el problema es que las 2 funciones se ejecutan al mismo tiempo, ¿sera que tengo que hacerlo con algo distinto a $.post?????

function directorio(inputString) {
if(inputString.length == 0) {
// Hide the suggestion box.
$('#directorios').hide();
} else {
$('#directorios').show();
$.post("directorios.php", {queryString: ""+inputString+""}, function(data){
if(data.length >0) {
$('#directorio_productos').html(data);
}
});

imagenes("ejecutar");
}
}

function imagenes(inputString) {
if(inputString.length == 0) {
// Hide the suggestion box.
$('#imagenes').hide();
} else {
$('#imagenes').show();
$.post("imagenes.php", {queryString: ""+inputString+""}, function(data){
if(data.length >0) {
$('#imagenes_producto').html(data);
}
});
}
}

function ejecutar(){
directorio("ejecutar");
}

<button onclick="ejecutar();">Procesar</button>

<div class="mensajes" id="directorios" style="display: none;position: relative;" >
Procesando directorios de productos
<div class="suggestionList" id="directorio_productos">
</div>
</div>

<div class="mensajes" id="imagenes" style="display: none;position: relative;" >
Procesando imagenes de productos
<div class="suggestionList" id="imagenes_producto">
</div>
</div>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder