Lo primero saludaros a todos ya que acabo de registrarme en este foro y daros las gracias por todo lo que hasta ahora me habéis ayudado, ya aunque soy nuevo aquí, muchas veces me llevaban mis busquedas a encontrar la solución en vuestra comunidad.
Por otro lado decir que soy nuevo en el diseño web, estoy empezando con ello de freelance, y no tengo a quién recurrir en caso de duda, por lo que os ha tocado ;)
Dicho esto voy a hacer una pregunta con la que me temo que vais a pensar que no he buscado lo suficiente, pero de verdad, llevo con este problema muchos meses, buscado soluciones "chapuzas" y sin encontrar "LA SOLUCIÓN" que seguro estoy de que debe de haber.
Es tan simple como lo siguiente.
Un código como éste:
Código:
$('a').click(function(event) {
event.preventDefault();
if($('body').attr('id')=="home"){
$('#dial').animate({ backgroundPosition: posicionar_dial$ },500,function(){ // mueve el fondo de un objeto a la posición de una variable.
$('#ficha_intro').ordenarHome();}); // ejecuta la función ordenarHome() que he creado.
window.location = direccion_location$; //realiza el window.location a la variable direccion_location$
};
});
};
La cuestión es que la función ordenar_home() realiza varios cambios en la página y lo único que quiero es que el window.location se ejecute solo cuando esa función, y todos los cambios que realiza, hayan terminado.
Hasta ahora en este problema me he podido apañar con callbacks; poniendo delay() antes de los métodos (aquí no sé cómo ponerselo); he visto por ahí lo de queue() pero que no consigo hacerlo funcionar.
¿me podríais decir, o enviarme un link donde lo expliquen, sobre cuál es esa manera simple, fácil y lógica que seguro debe de existir y que no soy capaz de encontrar, ?
Mucísimas gracias de antemano, y disculpad mis posibles errores al expresarme ya que soy novato en esto de la programación y todavía no me conozco los términos técnicos.
Saludos