动态分页和延迟加载

时间:2012-02-16 10:31:44

标签: php jquery

我使用for语句在PHP中创建了80个图像集。但是,图像需要很长时间才能加载。我尝试使用延迟加载为我的库实现分页。我使用了jQuery的simplePager和lazyLoad但它没有用。还有另一种方法吗?

2 个答案:

答案 0 :(得分:0)

你可能正在做的一个愚蠢的错误是你正在加载整个图像,我为我的图像库做的是我将所有图像存储在数据库中,并从中我动态生成缩略图每个图像(因此尺寸较小) - 然后将其缓存在服务器中以节省将来的处理时间,然后当用户想要看到他们点击它的图像时,那就是当我发送完整图像时。这样我就不必发送更多想要的图像了。

既然你正在使用php查找gd库,或想象一下,你可以用它们来做这些,在网上搜索哪一个更适合你..

希望这有帮助!

答案 1 :(得分:0)

将图片标记添加到未向用户显示的DOM中,例如使用css:

img.loader {
    position: absolute;
    left: -10px;
    width: 1px;
    height: 1px;
}

然后创建一个javascript,在标签中添加一个图像。在onLoad事件中添加一个监听器,你可以使用jQuery来完成它。

var myImages = []; // Array contains your list of imagens to be loaded
function loadImage(i) {
    if myImages.lenght <= i return;
    img = $("<img>").attr({"src":myImages[i], "class":"loader"});
    img.load(arguments.callee(i++);
    $(document.body).append(img);   
}
if myImages.lenght > 0 loadImage(0);