See demo on Codepen: https://codepen.io/comehope/pen/LBPvON
Watch interactive video on Scrimba: https://scrimba.com/p/pEgDAM/cBEvpTL
Read annotated source on Segmentfault(zh-cn):https://segmentfault.com/a/1190000015580809
Inspired by: Mamun Khandaker https://codepen.io/kh-mamun/pen/YLGjvx