Skip to content

Instantly share code, notes, and snippets.

@arthuredelstein
Created September 7, 2018 17:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save arthuredelstein/f52babb7b89bfc34ab4fb3058dcb4852 to your computer and use it in GitHub Desktop.
Save arthuredelstein/f52babb7b89bfc34ab4fb3058dcb4852 to your computer and use it in GitHub Desktop.
sliding a browser window
let slideWindow = (destX, time) => new Promise(resolve => {
let startTime = Date.now();
let stopTime = startTime + time;
let startX = screenX;
let distance = destX - startX;
let speed = distance / time;
let animationFrame = () => {
if (Date.now() < stopTime) {
let timeElapsed = Date.now() - startTime;
screenX = startX + speed * timeElapsed;
window.requestAnimationFrame(animationFrame);
} else {
screenX = destX;
resolve();
}
}
window.requestAnimationFrame(animationFrame);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment