tty.css
Version:
Pure CSS simulation of text-mode web browsers
36 lines (25 loc) • 682 B
JavaScript
// Ponyfill for scroll-snap-points behaviour
let pageXOffset_acum = 0
let pageYOffset_acum = 0
let raf
function snap()
{
raf = undefined
// if()
// {
// pageXOffset_acum = 0
// pageYOffset_acum = 0
// return
// }
const pageXOffset = window.pageXOffset + pageXOffset_acum
const pageYOffset = window.pageYOffset + pageYOffset_acum
const snappedX = Math.round(pageXOffset/8)*8
const snappedY = Math.round(pageYOffset/16)*16
pageXOffset_acum = pageXOffset - snappedX
pageYOffset_acum = pageYOffset - snappedY
window.scroll(snappedX, snappedY)
}
document.addEventListener('scroll', function()
{
if(!raf) raf = requestAnimationFrame(snap)
})