0

我曾尝试在我的网站上实施惰性加载程序。在此处查看沙箱:

http://www.brencecoghill.com/projects/north-vietnam/

以下文本被添加到我的同位素中以使这项工作(连同必要的 html 并从标题链接到库):

$("img").lazyload({
    event : 'scroll',
    effect : 'fadeIn',
    appear: function(){
    }
});

这在 Firefox 中似乎可以正常工作,但在 IE 中完全失败(我使用版本 8 进行了测试) - 仅显示灰色框。

  1. 如何解决此问题以在 IE 中工作?(至少版本 8 或更高版本)

  2. 有没有办法设置lazyloader,让它很好地降级?

仅供参考,我使用这些链接来弄清楚如何实现这一点:http: //www.appelsiini.net/projects/lazyload

结合 jQuery Isotope 和延迟加载

http://jsbin.com/ajoded

http://jsfiddle.net/wN6tC/73/

编辑:我删除了试图写入上面控制台的行。关于修复我收到的其他脚本错误的任何其他建议?

4

1 回答 1

1

现在你在 IE 中工作正常,console但你仍然有一个 js 错误。我不确定为什么会发生该错误,也许是jQuery.noConflict();

IE:

SCRIPT5002: Function expected 
animate-bg.js, line 8 character 1

铬合金:

Uncaught TypeError: object is not a function animate-bg.js:71 (anonymous function)
animate-bg.js:71

回答第二个问题。。

有没有办法设置lazyloader,让它很好地降级?

您可以按照“非 JavaScript 浏览器的后备”说明进行操作。这基本上是为这样的图像设置代码:

<img class="lazy" src="img/grey.gif" data-original="img/example.jpg"  width="640" heigh="480">
<noscript><img src="img/example.jpg" width="640" heigh="480"></noscript>

然后添加一些CSS来隐藏

 .lazy { display: none; }

当页面的 jquery 加载立即调用类似这样的东西再次显示图像。

$("img.lazy").show().lazyload();
于 2012-10-22T15:09:36.473 回答