задержка JavaScript между вызовами функций для каждого индекса в массиве [закрыто]

Цель:Выполнить логику для каждого элемента в массиве.ПодождитеX мс между следующим выполнением.mouseover(#slider) задержка паузы - если задержка = 1000 мс, и прошло 300 мс,mouseout(#slider) вызовет возобновление обратного отсчета оставшейся 700 мс задержки.После выполнения на последнем элементе вернитесь назад, чтобы сделать это снова - навсегда.

Вот визуальное объяснение:

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!
Решения:

JQuery:

http://jsfiddle.net/zGd8a/8/

Это решение пришло изПочта, Официальный источник этого плагина можно найтиВот.

Родной JS:

http://jsfiddle.net/SyTFZ/4/

ЭтотОтвет поАадит М Шах было действительно полезно. Он также подробно рассказывает оDelta Timing и как это может быть полезно в подобных случаях.

Новая цель:

Абстрагируйтесь от одного из этих методов, чтобы использовать его для других целей.