はじめに
lazysizesでスムーススクロールが位置がずれるってことで・・
調べてみた・・
かいせき・・
lazysizesはスクロールしたときに画像をdata-srcからsrcへ移され画像がロードされる仕組み
この遅延読み込みが、スクロール位置の高さを計算するのに、$(window).on('load', function()とかでも正しく計算できない・・
下記で完了イベントがないか、見てみたが・・ない・・・
https://github.com/aFarkas/lazysizes
強制表示関数 jquery版
function removeLazyLoad() {
$('[data-src]').each(function(index, element) {
$(this).attr('src',$(this).attr('data-src'));
});
}
上記を・・#があるときだけ・・data-srcからsrcへ強制する・・みたいな処理で
URLに#がない場合は、遅延読み込みして、ある場合は強制表示・・・
var Hash = location.hash;
if(Hash) {
removeLazyLoad();
}
あとは、自身のスムーススクロールコードに埋め込んで完了です。
さいごに
メモです・・
では・・