我有一个在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家伙:))
提前致谢!
答案 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并告诉我它是否适合您。