Skip to content

Instantly share code, notes, and snippets.

@idiotWu
Last active December 18, 2018 05:36
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 idiotWu/d456d80343ba41dd72abec52dda5dc63 to your computer and use it in GitHub Desktop.
Save idiotWu/d456d80343ba41dd72abec52dda5dc63 to your computer and use it in GitHub Desktop.
const src = 'data:image/png;base64,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';
class Otsuka {
constructor(speed = 3) {
this.x = 0;
this.y = 0;
this.max_x = 0;
this.max_y = 0;
this.n = 5;
this.offset = Math.random() * Math.PI;
this.delta = speed;
const img = this.img = new Image();
img.src = src;
img.style.position = 'fixed';
img.style.left = '0px';
img.style.zIndex = '99999';
img.style.cursor = 'crosshair';
// img.style.transition = 'transform 50ms';
// img.style.filter = 'drop-shadow(1px 3px 5px #000)';
document.body.appendChild(img);
img.addEventListener('load', () => {
this.init();
});
img.addEventListener('mouseenter', () => {
this.pause();
});
img.addEventListener('mouseleave', () => {
this.play();
});
window.addEventListener('resize', () => {
this.refresh();
});
}
init() {
this.refresh();
this.x = Math.random() * this.max_x;
this.play();
}
play() {
this.move();
this.render();
this.rafID = requestAnimationFrame(() => {
this.play();
});
}
pause() {
cancelAnimationFrame(this.rafID);
}
refresh() {
const width = window.innerWidth;
const height = window.innerHeight;
this.max_x = width - this.img.width;
this.max_y = (height - this.img.height) / 4;
this.x = Math.min(this.max_x, this.x);
this.y = Math.min(this.max_y, this.y);
this.img.style.top = `${(height - this.img.height) / 2}px`;
}
move() {
const {
delta, offset,
max_x, max_y,
} = this;
const nextX = this.x + delta;
if (nextX <= 0 || nextX >= max_x) {
this.x = Math.max(0, Math.min(nextX, max_x));
this.delta = -delta;
} else {
this.x = nextX;
}
const omega = Math.PI / (max_x / this.n);
this.y = (max_y * Math.cos(Math.sign(delta) * this.x * omega - offset));
}
render() {
const {
img,
delta,
x, y,
} = this;
img.style.transform = `translate3d(${x}px, ${y}px, 0) rotateY(${delta >= 0 ? 0 : 180}deg)`;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment