Доброго времени дня всем.
Всегда если нужно было выполнить задержку на кадре и по истечению времени выполнить какую либо функцию, использовал такой код

Код AS1/AS2:
var intervalID;
function callback() {
clearInterval(intervalID);
play();
}
intervalID = setInterval(callback, 3500);
stop();
но недавно столкнулся с проблемой, опишу кратко...
есть кадр(обозначим его Pervi) на нем ролик весит некоторое время, по истечению 3500 например как в примере, прыгает на кадр (100) ролика.
при это в кадре (pervi) есть кнопка которая при нажатии перемешает нас на кадр (50) ролика.
проблема в том что если мы нажимаем кнопку и попадаем в кадр 50, то нас через время отправляет в кадр (100) потому что как я понял время отсчета было запущено вместе с загрузкой кадра (pervi)
подскажите как избежать такой не приятной ситуации? что бы по нажатию кнопки, со временем нас не перекидывало в кадр (100)?