2016-05-08 2 views
0

У меня есть две кнопки (рядом и назад), и я хочу выполнить следующую функцию массива каждый раз, когда нажимается «next», и выполняет последнее, когда нажимается «назад» с jquery. Я не знаю, с чего начать ...Перейдите к массиву функций нажатием

function1(); 
function2(); 
function3(); 
function4(); 
+0

Что произойдет, если щелкнуть «следующий», а последняя выполненная функция - 4? Начать все? –

+0

Да! Он начнется повсюду. –

ответ

1

Вы можете поместить эти функции в массив:

var functions = [ function1, function2, function3, function4 ]; 

и есть целое число, чтобы следить за последней выполненной функции:

var index = 0; 

Теперь, когда рядом щелкают вы вызовите функцию по указанному индексу в массиве и увеличить его:

functions[Math.abs(index % functions.length)](); 
index++; 

Возвратившись щелкают сделать то же самое, но уменьшает индекс:

functions[Math.abs(index % functions.length)](); 
index--; 

index % functions.length гарантирует, что возвращаемое значение всегда в 0-3 диапазоне, который фактически допустимый диапазон индексов для массива.

+0

Если я не хочу начинать, как это выглядит? –

+0

Что вы хотите, если не начнете? –

+0

Просто перейдите к последней функции с помощью «next», и «назад» вернется одна функция. –

Смежные вопросы