IntersectionObserverを使ってlazyload-imageを書き直した 画像をスクロール同期でロードする<lazyload-image>というWeb Componentsの内部処理を、IntersectionObserverで書き直した。 可視領域に要素が入っているかどうかの判定 リライトする前までは、要素それぞれにscrollイベントのリスナを発行して、その中で画面内に要素が表れているかを判定していた。throttleしているとはいえ、それぞれのリスナで以下の処理を行っていたのでややパフォーマンスが気になっていた。 getBoundingClientRect()で要素の矩形を取得する document.documentElement.scrollTopとdocument.documentElement.clientHeightで画面の上下端を取得する 要素が可視領域と交
![IntersectionObserverを使ってlazyload-imageを書き直した - 1000ch.net](https://cdn-ak-scissors.b.st-hatena.com/image/square/e8804c861ff3fb58d62ce1d9773b8f35ffc98489/height=288;version=1;width=512/https%3A%2F%2F1000ch.net%2F%2Fimg%2Fposts%2F2016%2Fintersection-observer-lazyload%2Fdemo.gif)