Добавление дополнительных аргументов в функцию, вызываемую по запросу requestAnimationFrame

Я ищу, чтобы создать функцию, которая прокручивает элемент изображения x пикселей в течение y времени на холсте HTML5, используя requestAnimationFrame и delta time. Чего я не могу понять, так это как добавить больше аргументов в мою функцию, когда requestAnimationFrame уже вызывает мою функцию с одним аргументом (DOMHighResTimeStamp). Я уверен, что следующий код не работает:

function scroll(timestamp, distanceToScroll, secondsToScroll) {
  //delta = how many milliseconds have passed between this and last draw
  if (!lastDraw) {var lastDraw = timestamp;};
  delta = (0.5 + (timestamp - lastDraw)) << 0; //bitwise hack for rounding integers
  lastDraw = timestamp;

  //speed (pixels per millisecond) = amount of pixels to move / length of animation (in milliseconds)
  speed = distanceToScroll / secondsToScroll;

  //new position = current position + (speed * delta)
  position += (speed * delta);

  context.drawImage(myImage,0,position,50,50/*of 200*/,0,0,100,100);
  requestAnimationFrame(scroll(timestamp, distanceToScroll, secondsToScroll));
};

//later...
scroll(timestamp, 100, 5)
scroll(timestamp, 10, 20)

Мой вопрос заключается в том, что я не знаю, как заставить requestAnimationFrame продолжать вызывать мою функцию прокрутки с моими дополнительными параметрами, когда все, что он делает по умолчанию, это передает только один аргумент (метку времени) при обратном вызове. Итак, как мне добавить дополнительные параметры (или заставить rAF поместить метку времени в мой аргумент 'timestamp')?

Ответы на вопрос(2)

Ваш ответ на вопрос