Javascript Jquery中断级联映像加载 //页面的数据数组 var arrPages=[]; arrPages[0]=新数组(2578,'1.jpg',false); arrPages[1]=新数组(2579,'2.jpg',false); arrPages[2]=新数组(2580,'3.jpg',false); arrPages[3]=新数组(2581,'4.jpg',false); arrPages[4]=新数组(2582,'5.jpg',false); //生成页面 函数生成页(pageID){ var-newImage; //检查尚未加载 如果(pageID>=0&&pageID

Javascript Jquery中断级联映像加载 //页面的数据数组 var arrPages=[]; arrPages[0]=新数组(2578,'1.jpg',false); arrPages[1]=新数组(2579,'2.jpg',false); arrPages[2]=新数组(2580,'3.jpg',false); arrPages[3]=新数组(2581,'4.jpg',false); arrPages[4]=新数组(2582,'5.jpg',false); //生成页面 函数生成页(pageID){ var-newImage; //检查尚未加载 如果(pageID>=0&&pageID,javascript,jquery,image,Javascript,Jquery,Image,正如您所看到的,在页面加载时,当第一个图像加载后,它开始通过数组级联加载图像 我的问题是,如果有很多页面(比如100),预加载程序可能会说索引10,但是如果用户跳过去查看索引85,预加载程序需要停止从索引10加载,并从索引85重新开始 我不太确定如何停止图像加载,然后在不同的索引处重新启动它。实现这一点的一种方法是存储一个“版本”号,每次用户导航到不同的页面时,该版本号都会增加 声明一个全局变量: // Data array of pages var arrPages = [];

正如您所看到的,在页面加载时,当第一个图像加载后,它开始通过数组级联加载图像

我的问题是,如果有很多页面(比如100),预加载程序可能会说索引10,但是如果用户跳过去查看索引85,预加载程序需要停止从索引10加载,并从索引85重新开始


我不太确定如何停止图像加载,然后在不同的索引处重新启动它。

实现这一点的一种方法是存储一个“版本”号,每次用户导航到不同的页面时,该版本号都会增加

声明一个全局变量:

// Data array of pages    
var arrPages = [];    
arrPages[0] = new Array (2578, '1.jpg', false);    
arrPages[1] = new Array (2579, '2.jpg', false);    
arrPages[2] = new Array (2580, '3.jpg', false);    
arrPages[3] = new Array (2581, '4.jpg', false);    
arrPages[4] = new Array (2582, '5.jpg', false);    

        // Generates the page
    function generatePage(pageID){
        var newImage;
        // Check not already loaded
        if(pageID >= 0 && pageID < arrPages.length && !arrPages[pageID][2])
        {
            newImage = $('<img class="pageImg" id="imgA' + pageID + '" src="
                      <%=strProjectPath%>/pages/thumbnails/' + 
                       arrPages[pageID][1] + '" alt="Page image" />');
            $('#page' + pageID).append(newImage);                                
            $('#imgA' + pageID).load(function() {
                alert("loaded");
                arrPages[pageID][2] = true;
                generatePage(pageID + 1, false);
            });
        }
    }

    // Load first page
    $(document).ready(function() {
        updateOrientation();
        generatePage(0);
    });
在你的循环中:

curVersion = 0;

当用户导航到另一个页面时,或者如果您想停止级联,只需增加
曲线版本
,然后(可选)调用
generatePage(85)
从该页面重新开始。

实现这一点的一种方法是使用存储“版本”“数字,这将在用户每次导航到不同页面时增加

声明一个全局变量:

// Data array of pages    
var arrPages = [];    
arrPages[0] = new Array (2578, '1.jpg', false);    
arrPages[1] = new Array (2579, '2.jpg', false);    
arrPages[2] = new Array (2580, '3.jpg', false);    
arrPages[3] = new Array (2581, '4.jpg', false);    
arrPages[4] = new Array (2582, '5.jpg', false);    

        // Generates the page
    function generatePage(pageID){
        var newImage;
        // Check not already loaded
        if(pageID >= 0 && pageID < arrPages.length && !arrPages[pageID][2])
        {
            newImage = $('<img class="pageImg" id="imgA' + pageID + '" src="
                      <%=strProjectPath%>/pages/thumbnails/' + 
                       arrPages[pageID][1] + '" alt="Page image" />');
            $('#page' + pageID).append(newImage);                                
            $('#imgA' + pageID).load(function() {
                alert("loaded");
                arrPages[pageID][2] = true;
                generatePage(pageID + 1, false);
            });
        }
    }

    // Load first page
    $(document).ready(function() {
        updateOrientation();
        generatePage(0);
    });
在你的循环中:

curVersion = 0;

当用户导航到另一个页面时,或者您想停止级联,只需增加
曲线版本
,然后(可选)调用
generatePage(85)
从该页面重新开始。

可以在图像10仍在加载时开始加载索引85吗?或者,在加载图像85之前,您必须等待图像10完成加载吗?它是用于移动应用程序的,因此85应该首先加载,因为它是立即查看的应用程序。在图像10仍在加载时开始加载索引85可以吗?或者,在加载图像85之前,您必须等待图像10完成加载吗?它是用于移动应用程序的,因此85应该首先加载,因为它是立即被查看的应用程序。