Skip to content

Instantly share code, notes, and snippets.

@fraserhart
fraserhart / moveItem.js
Created November 3, 2020 12:31
JS Animate DOM Node
const moveItem = (el, distance, duration) => {
const invokedTime = new Date().getTime();
let delta = distance/duration;
let animFrame = null;
const doMove = () => {
const elapsedTime = (new Date().getTime()) - invokedTime;
if (elapsedTime > duration) {
cancelAnimationFrame(animFrame);
@fraserhart
fraserhart / EventEmitter.js
Created November 3, 2020 12:30
JS Event Emitter implementation
class EventEmitter{
constructor(){
this.events = {}
}
on(event, callback){
if (!this.events.hasOwnProperty(event)){
this.events[event] = [];
}
this.events[event].push(callback);
}