已注册懒加载的区域被清空,IE6/7报错

今天做女装list2.0遇见了一个这样的问题:首先页面绑定了图片懒加载(DataLazyload),当你使用innerHTML将页面绑定懒加载的区域内容替换掉时,在ie6/7下,会报出莫名其妙的错误,原因就是首次初始化DataLazyload时,js将页面需要懒加载的图片或者area保存到相应数组中,然后给window注册scroll和resize事件,事件触发后就去数组中寻找需要懒加载的内容。当懒加载区域中的内容被替换时,数组中的变量就变成了空的引用,此时浏览器就会报错了。解决办法:在懒加载区域被替换之前将数组清空
dataLazyload.images = [];
dataLazyload.callbacks.els = [];
dataLazyload.areaes = [];
这几个数组是DataLazyload API没有暴露出来的公有属性,外部可以调用。

posted @ 2011-12-15 12:51  拉登不开心  阅读(194)  评论(0编辑  收藏  举报