我正在开发一个网站(使用jQuery + Ajax),其中遇到了一个问题。当页面动态加载时(第一次加载,图片尚未缓存),它不显示图片。当我重新调用ajax加载函数时,突然我的图片出现了。
$("#overlayInner").load(source+" #loader",function() {
$('#workImgs').nivoSlider();
});
我在我的动态页面上调用nivoSlider,并且是在加载器div之外,这样直接访问该页面的用户也可以看到图片。
<script type="text/javascript">
$(function(){
$('#workImgs').nivoSlider();
});
</script>
当您尝试不使用Ajax加载页面时,图像会按照它们应该的方式加载。有什么想法吗?
load
回调函数中使用DOM准备好的函数$(function() { ... });
? - VisioNload
只有在 DOM 加载完成后才返回,你需要等待图片加载完成。尝试为它们附加一个事件监听器 (ready
),这应该能解决问题。此外,在检查图片的ready
时,你应该避免跨浏览器问题 - 这里有一个 jQuery 插件可以解决。 - apfelbox