Вы можете поместить эти функции в массив:
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
диапазоне, который фактически допустимый диапазон индексов для массива.
Что произойдет, если щелкнуть «следующий», а последняя выполненная функция - 4? Начать все? –
Да! Он начнется повсюду. –