Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
完全无法在jQuery Mobile上延迟加载图像_Jquery_Jquery Mobile_Lazy Loading - Fatal编程技术网

完全无法在jQuery Mobile上延迟加载图像

完全无法在jQuery Mobile上延迟加载图像,jquery,jquery-mobile,lazy-loading,Jquery,Jquery Mobile,Lazy Loading,我目前正试图在jQuery移动站点中使用Lazy Load XT插件,以减少加载包含大量图像的页面所需的等待时间 这些图像位于“主页”页面上,这是我的默认jQuery移动页面 我使用“pageinit”从服务器加载图像并将其插入页面,如下所示: $(document).on("pageinit", "#mainPage", function() { loadMain(); // Function retrieves images via ajax & inserts them into

我目前正试图在jQuery移动站点中使用Lazy Load XT插件,以减少加载包含大量图像的页面所需的等待时间

这些图像位于“主页”页面上,这是我的默认jQuery移动页面

我使用“pageinit”从服务器加载图像并将其插入页面,如下所示:

$(document).on("pageinit", "#mainPage", function() { loadMain(); // Function retrieves images via ajax & inserts them into the '#main-content' div which is a <div> within '#mainPage'
});

然而,我的问题是,如果我直接转到URL:“mainPage”是向访问者显示的默认页面,“main content”是“mainPage”中的一个div,延迟加载XT插件不起作用,并且没有显示任何图像,但是如果我从网站上的任何页面点击页面主页,主页上的图像完全可以延迟加载

我尝试了“Lazy Load XT”插件作者建议的基本使用方法,如所述: ,即将'img'标记的'src'属性更改为'data src',它不起作用

然后,我禁用了插件的自动初始化,改为手动初始化,并尝试:

$(document).on("pageshow", "#mainPage", function() {
$(this).find("img[data-src]").lazyLoadXT();
});
这不起作用,所以我试着:

$(document).on("pageinit", "#mainPage", function() {
$(this).find("img[data-src]").lazyLoadXT();
});
这也不起作用,所以最后我试着:

$(window).on('pageshow',  function() {
$(window).lazyLoadXT();
});
以及上述3个版本的各种其他变体,当我直接访问“主页”页面时,它们都不起作用,但当我从另一个jQuery移动页面点击到“主页”页面时,它们确实起作用

如果有人能告诉我,当用户直接访问“主页”页面时,如何将图像延迟加载,而不是仅当用户点击或从另一个页面点击“主页”页面时才延迟加载,我将非常感谢

我在这个问题上花了8个多小时,一点进展也没有,现在我完全不知道该怎么办。

调用$window.lazyLoadXT;在将图像插入页面之后,即$'main-content'.appendimagesData;之后


或者,也可以将两个调用合并为一个:$'main-content'。appendimagesData.find'img[data src]'。lazyLoadXT

我非常感谢你。它工作得很好。谢谢你,我是真心的,谢谢你。
$(document).on("pageinit", "#mainPage", function() {
$(this).find("img[data-src]").lazyLoadXT();
});
$(window).on('pageshow',  function() {
$(window).lazyLoadXT();
});