【问题标题】:Lazy load jquery plugin slowing down page延迟加载jquery插件减慢页面
【发布时间】:2013-02-28 19:46:23
【问题描述】:

我有一个页面使用延迟加载插件来加载一堆小图像。我有一组过滤器可以删除元素和添加元素。因此,每次单击过滤器时,我都会在我的所有 img 元素上调用延迟加载。当我这样做时,它开始减慢页面速度,每次我调用 $("img").lazyload();它变得更加陷入困境。我尝试在元素被删除之前使用 unbind ,这样新的一旦被追加就没有 y 遗留事件,但这仍然没有做任何事情。

任何人都知道为什么会发生这种情况。我的代码源很大,所以我不能拿出一个元素来发布。所以希望有人以前遇到过这个问题,并且可能知道它为什么会发生。

另一个问题是我必须调用 $(window).trigger("scroll");在我调用 $("img").lazyload(); 之后为了加载图像。这正常吗?

【问题讨论】:

  • 没有代码我们无能为力。尝试仅提供相关位的示例...您不必提供所有内容,只需提供与您的问题有关的一般逻辑即可。

标签: jquery jquery-plugins lazy-loading


【解决方案1】:

我今天遇到了类似的问题。在这里查看我对我的问题的解决方案:

jQuery LazyLoad plugin slowing down div scrolling

快速回答是,每次你在容器上运行它来检查滚动时,lazyload 都会绑定一个事件侦听器。不幸的是,它在重新绑定之前并没有取消绑定这个事件,所以当你一遍又一遍地运行延迟加载时,你会添加大量的滚动侦听器添加到容器中。一个快速的解决方案是 .unbind('scroll') 在您的容器上再次调用延迟加载。上面的链接有更深入的答案以及一些小提琴来查看差异。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2013-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多