UNPKG

@lagrange/animator

Version:

This library helps making parallax animations on scroll. It is built with performance in mind, as it doesn't need to relayout or paint to operate.

23 lines (19 loc) 573 B
import parseRelativeVal from './parseRelativeVal'; /** * @param {string} prop * @param {string} value * @param {HTMLElement} elem */ export default function parseVal(prop, value, elem) { if (typeof value === 'number') return value; const matches = value.match(/([-0-9.]+)(.+)/); const val = parseFloat(matches[1]); const unit = matches[2]; switch (unit) { case 'vh': return (val / 100) * window.innerHeight; case 'vw': return (val / 100) * window.innerWidth; case 'px': return val; case '%': default: return parseRelativeVal(prop, val, elem); } }