我有一个网页是侧面滚动器。目前所有内容都加载到页面加载中,但这正变成一个巨大的页面!我对图像等应用了一些延迟加载,但是它不流畅,页面导航很尴尬。

有7个“窗格”,每个窗格都有一个具有唯一ID的父DIV标签。我想做的是当Pane 2出现时,显示一个加载的gif,并且div为空白,直到所有内容/图像都加载完毕。加载内容/图像后,加载器消失,内容逐渐淡入。对于所有窗格2-7重复此操作。

我已经看过许多jquery脚本和方法,但是我似乎并没有全神贯注于如何做到这一点。这就像延迟加载,但对于整个div而言,而不仅仅是图像。我希望页面加载到后台,但是例如,阻止用户看到尚未下载的窗格3,这显示了加载图像的尴尬场面。

我知道这容易吗?我想念什么?

最佳答案

有很多方法可以实现这一目标,我想最简单的方法就是使用jQuery get方法获取活动幻灯片的实际HTML:

$.get('slide2.html', function(respHTML) {
   $(respHTML).appendTo($("#contentFrame"));
},'html');


您可以在添加html并预加载图像之前选择所有图像,还有很多方法可以预加载图像

var respHTML = $(respHTML);
var imagesToPreload = respHTML.find('img');
var imagesPreloaded = 0;
var imagesLength = imagesToPreload.length;
imagesToPreload.each(function(i,img) {
    // preload img
    imagesPreloaded++;
    if(imagesPreloaded == imagesLength) {
       // your images are ready
    }
});

关于jquery - 延迟加载整个DIV,而不是单个图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11970804/

10-12 03:43
查看更多