Actualmente puede hacer lo que quiera con jQuery (al menos en algún sentido). Podría considerarse un poco hacky pero funciona sin defectos.
Solo incluya un elemento en su página que no utilice para nada más. p.ej. un div vacío en alguna parte.
<div id="syncFnHolder"></div>
Y a continuación, incluyen la JS con sus funciones + la función runMe
escrito por mí.
function doSomething() { alert("First"); }
function doSomethingElse() { alert("Second"); }
function doSomethingElseThree() { alert("Third"); }
function runMe(fn, selec) {
return function() {
fn();
setTimeout(function() {
$(selec).dequeue("syncFnQueue");
}, 1000);
}
};
var selector = "#syncFnHolder";
//add three functions to a queue
$(selector).queue("syncFnQueue", runMe(doSomething, selector));
$(selector).queue("syncFnQueue", runMe(doSomethingElse, selector));
$(selector).queue("syncFnQueue", runMe(doSomethingElseThree, selector));
//start first function in queue (FIFO) others are triggered automatically
$(selector).dequeue("syncFnQueue");
Esto generaría tres alertas con una distancia de 1 seg entre ellos diciendo "primero", "segundo", "tercero".
Si no desea demora, elimine setTimeout y simplemente deje la llamada en $(selec).dequeue("syncFnQueue");
.
Si sus funciones necesitan parámetros, p. doSomething(x,y,z)
necesita adaptar la función runMe
para que sea un mejor parcial y para construir la función devuelta de manera diferente. Marque aquí o publique una nueva pregunta.
javascript partial
¿No te lo publicado ya hacer lo que quiera? ¿Que me estoy perdiendo aqui? –
+1 para contrarrestar el -1. Esta pregunta es tan válida como cualquier otra. – echo
¿Alguna posibilidad de que nos proporciones más código o decirnos qué estás tratando de hacer? – Nosredna