retraso de javascript entre llamadas a funciones para cada índice en una matriz [cerrado]
La meta:Ejecutar la lógica en cada elemento de la matriz.Espere
X
ms entre la siguiente ejecucion.mouseover(#slider)
pausa pausada: si la demora = 1000 ms, y 300 ms pasaron,mouseout(#slider)
provocaría reanudar la cuenta regresiva de los 700 ms de retraso.Después de la ejecución en el último elemento, vuelve a hacerlo para siempre.Aquí hay una explicación visual:
var = s Array(1,2,3)
var x = s[1]; //get first element
console.log(x); //do something to it
wait(); //START wait timer 1000ms
//------------> timer : 300ms
//------------> user : mouseover (#slider) : pause timer
//------------> user : waited 5000ms
//------------> user : mouseout (#slider) : resume timer
//------------> timer : 300ms --> still 700ms to go!
//------------> timer : 500ms
//------------> user : mouseover (#slider) : pause timer
//------------> user : waited 10000ms
//------------> user : mouseout (#slider) : resume timer
//------------> timer : 500ms --> still 500ms to go!
var x = s[2]; //get second element
console.log(x); //do something to it
wait(); //START wait timer 1000ms
//------------> timer : 200ms
//------------> user : mouseover (#slider) : pause timer
//------------> user : onclick (.slideButton1) : change index of array and clear timer
//------------> user : waited 6000ms
//------------> user : mouseout (#slider) : resume timer
//------------> timer : 0ms --> still 1000ms to go!
var x = s[1]; //get first element ( index was changed by clicking button )
console.log(x); //do something to it
wait(); //START wait timer 1000ms
// ... s[2] ... s[3] ...
//theres nothing else in the array, lets start back from s[1] again!
Soluciones:jQuery:
Esta solución provino de una relacionadaenviar. La fuente oficial de este plugin se puede encontrar.aquí.
JS nativo:
EstaResponder porAadit M Shah fue de mucha ayuda También entra en detalles sobreTiempo de Delta Y cómo puede ser útil en casos similares.
Nuevo gol:Resuma cualquiera de estos métodos para permitir el uso de otras cosas.