Javascript 如何在有大量图像的网页上实现平滑滚动?

Javascript 如何在有大量图像的网页上实现平滑滚动?,javascript,html,css,image,Javascript,Html,Css,Image,我的一个页面上有很多图片,Pinterest是比较它的最佳选择,我注意到滚动,特别是在Chrome中,滚动非常不平稳。有没有办法实现更平滑的滚动?我是通过JavaScript还是CSS属性来实现这一点?id'建议使用js加载浏览器可见区域中的所有图片,如果用户向下滚动,则加载更多图片。当一开始就有太多图片时,滚动会变得非常糟糕。Pinterest上的滚动之所以平滑,是因为以下几点: 图像被延迟加载。它们也可能位于服务器端,以便更快地提供服务 如果图像距离视口足够远,则会清除这些图像(如果降低了阈

我的一个页面上有很多图片,Pinterest是比较它的最佳选择,我注意到滚动,特别是在Chrome中,滚动非常不平稳。有没有办法实现更平滑的滚动?我是通过JavaScript还是CSS属性来实现这一点?

id'建议使用js加载浏览器可见区域中的所有图片,如果用户向下滚动,则加载更多图片。当一开始就有太多图片时,滚动会变得非常糟糕。

Pinterest上的滚动之所以平滑,是因为以下几点:

  • 图像被延迟加载。它们也可能位于服务器端,以便更快地提供服务
  • 如果图像距离视口足够远,则会清除这些图像(如果降低了阈值像素,则应清除y=0处的图像)。这会清除内存并提供更流畅的体验(这类似于iOS中的工作方式)
  • 我的建议

  • 在服务器上缓存图像
  • 清除远离查看端口的阈值像素图像
  • 延迟加载图像

  • 附言-如果你提供的文件非常大(按大小),你会得到一个缓慢的体验(取决于你的互联网连接速度)。

    我不确定这是否有帮助,但我认为保罗·爱尔兰在第6集中讲述了类似的内容(可能是另一个Ep.)对于那些不知道“延迟加载”是什么意思的人来说,修复Wikipedia上的一个bug的突破点是:@Vinay-这项技术“清除远离查看端口的阈值像素的图像”到底是什么?@Brian我不知道有哪个库可以为你做这件事(也许有一个库,我鼓励你去看看),但一般的概念是绑定到窗口上的滚动事件(或任何正在滚动的视图),然后捕获用户是否降低了阈值像素。如果是,请销毁与前X个图像的视图关联的javascript对象。请记住,这意味着如果用户要向上滚动,您还必须重新创建这些图像。隐马尔可夫模型。。。现在我正在考虑,我可以创建一个这样做的库;var pageBottom=$(窗口).scrollTop()+$(窗口).height();如果(element.offset().top>=THRESHOLD){//Remove element here}否则{//Recreate element here};或是接近的东西。