【问题标题】:is it possible to disable lazyload (so all images gets loaded..)?是否可以禁用延迟加载(因此所有图像都被加载..)?
【发布时间】:2011-03-21 10:17:45
【问题描述】:

我有一个使用jquery lazyload的网站

它工作正常,但现在我希望能够禁用此功能。 原因是,您通常可以滚动浏览图像,这很好,但我也有一个导航,您可以在其中跳转到某个图像。现在当lazyload处于活动状态时,浏览器会跳转到错误的位置,我想那是因为lazyload还加载了一些以前的图像,所以故意的图像被移位了..

所以我想禁用延迟加载,如果子导航处于活动状态.. 类似 unbind..? 有机会吗?

问题是,这两种方法都需要工作。就像单击图像时一样,滚动到下一个(并使用延迟加载)。但是当激活“预览图像”时(它们是预先隐藏的,所以我猜这是可能的),停止延迟加载并加载所有图像。

【问题讨论】:

  • 只需删除加载延迟加载 JavaScript 的行。
  • 不,那做错了..(会导致错误,比如函数lazyload没有定义,或者不是函数)。加上所有内容都是通过 ajax 加载的,所以我只加载一次头部。
  • 这个问题需要更多信息,例如您在使用延迟加载的地方使用的代码。

标签: jquery image lazy-loading


【解决方案1】:

感谢您的光临.. 我现在从延迟加载机制本身获取事件。

    $('#images img').each(function() {
    $(this).attr("src", $(this).attr("original"));
});

所以我只是改变图像,就像lazyload自己做的那样。

【讨论】:

    【解决方案2】:

    或者您可以只触发您首先配置延迟加载的事件。

    $("img.lazy").lazyload({ 
        event : "click"
    });
    
    $("img.lazy").trigger("click");
    

    【讨论】:

      【解决方案3】:

      这肯定会阻止“延迟加载”——但会以您网站性能的巨大损失为代价。您可能需要考虑使用高度来定义图像 Holders - 这将保持占位符位置准确并仍然保留延迟加载功能。

      【讨论】:

        猜你喜欢
        • 2018-02-15
        • 1970-01-01
        • 1970-01-01
        • 2014-07-20
        • 2016-02-16
        • 2012-07-10
        • 1970-01-01
        • 1970-01-01
        • 2012-04-21
        相关资源
        最近更新 更多