IMO lazy loading the images on your websites is a good idea in 99% of the cases. As all the other lazy load libraries where way to heavy for use case I build lazy-simon.js.<p>It is build with JavaScript intersection observers. To keep it below 500 byte it currently only works with img tags, but I may adapt it for more HTML tags if that is useful.<p>I do not plan to add a lot of config options, as there are nice highly configurable lazy loading libraries out there. Mine should just be a script include and you are done :D
Some browsers like chrome support this functionality natively by setting the image attribute loading="lazy" (<a href="https://web.dev/native-lazy-loading/" rel="nofollow">https://web.dev/native-lazy-loading/</a>) You could improve your library by adding a check wether the browser supports it natively, if yes use the loading attribute, if no use the visibility observer