YUI图像加载器图像上方折叠未加载直到滚动事件

时间:2010-04-12 23:40:08

标签: image yui

我有一个在window.onload事件上调用的函数来创建一组图像并通过scroll事件进行渲染。

function LoadImages(){  
    var foldGroup = new YAHOO.util.ImageLoader.group(window, 'scroll'); 
    for(var i=0; i<someCounter; i++){
        var locationId = locationsArr[i];
        foldGroup.registerSrcImage('Location_' + locationId, GetImageDomain()+'/templates/Includes/imagehandler.ashx?locationId=' + locationid);
    }
    foldGroup.foldConditional = true; 
    foldGroup.addTrigger(window, 'resize');
}

我遇到的问题是,当页面加载时,直到我滚动才会呈现“在首页上方”的图像。有没有关于此故障排除的提示?我完全不是一个js / frontend家伙:))

提前致谢!

4 个答案:

答案 0 :(得分:0)

我只是尝试了内联,但它运行良好:

<script type="text/javascript">
var foldGroup = new YAHOO.util.ImageLoader.group(window, 'scroll'); 
for(var i=0; i<someCounter; i++){
    var locationId = locationsArr[i];
    foldGroup.registerSrcImage('Location_' + locationId, GetImageDomain()+'/templates/Includes/imagehandler.ashx?locationId=' + locationid);
}
foldGroup.foldConditional = true; 
foldGroup.addTrigger(window, 'resize');</script>

如果有人有更好的答案,我肯定会感兴趣。

答案 1 :(得分:0)

不要使用window.onload。如果您已经在使用YUI 2,我建议您添加活动模块并设置ImageLoader onDOMReady。没有看到有问题的页面,我无法确定这是否是你的问题,但它肯定会让你免于将来的头痛。

答案 2 :(得分:0)

由于ImageLoader实用程序使用页面加载来检查图像位置,因此您需要在该点之前创建组并注册图像。正如您所发现的那样内联,或者在DOM就绪时间,正如蒂瓦克所暗示的那样。

对ImageLoader进行了更改以解决此问题,但在下一次YUI 2发布之前它将无法使用。您可以在此处关注 - http://yuilibrary.com/projects/yui2/ticket/2527646

答案 3 :(得分:0)

尝试使用此插件jQuery Asynchronous Image Loader并告诉我它是否适合您。