我将使用 jQuery,在这里找到它:http: //jquery.com/download/
我通过循环浏览文件夹中所有名为pic的图像(例如 pic1.jpg 、 pic2.jpg 、 pic3.jpg 等)来完成此操作。 ..)
我过去是通过简单地向图像添加两个函数来做到这一点的。
第一个是onLoad
第二个是onError
- 这将让我们调用我们的函数来停止加载图像(因为我们已经用完了它们)
首先,这是我们将使用的变量:
var preSrc = "/images/pic"; // This gives the first part of the path to the images
var n = 1; // This will be which image we are on (denoted by #)
var fileType = ".jpg"; // The file type for your images
// Now put it all together
var imgSrc = preSrc + n + fileType; // This is the full source for your images
// Now add the rest of the html to be appended
var img = '<img src="' + imgSrc + '" onLoad="nextImg(' + n + ');" onError="stopLoad(this);" />';
那么这里发生了什么?
我们最初的几个变量是不言自明的,我们只是在创建图像的来源。不过,这里的最后一个变量有点困难。我们正在创建一个名为img的变量,它将保存将添加到文档中的实际 html 标记。它还保存当前图像的数据(n)。
它还有两个我想谈谈的属性。
首先是onLoad
功能:
- 这里我们调用一个名为 的函数
nextImg
。我们稍后会创建这个函数,但现在只知道它会准备好并将我们文件夹中的下一个图像发布到页面。
第二个是onError
功能:
- 这里我们调用一个名为 的函数
onError
。这绝对不是停止加载图像的最佳方法,但它是我个人发现的唯一一种可以使用纯 JavaScript 的方法。同样,我们将创建这是一个时刻,所以只要知道当我们用完图像时这将停止加载图像。
现在我们已经处理好图像的来源,我们需要编写将图像添加到页面的函数。可以通过几种不同的方式调用此函数,但我现在只使用一种。
//When the document is loaded, this function will be called
$(document).ready(function() {
//Create the variables in this function so we can use them
var preSrc = "/images/pic";
var n = 1;
var fileType = ".jpg";
var imgSrc = preSrc + n + fileType;
var img = '<img src="' + imgSrc + '" onLoad="nextImg(' + n + ');" onError="stopLoad(this);" />';
$('#imgContainer').append(img); // Here we use jQuery to append our image to a container with the id of "imgContainer" (This can of course be changed)
});
所以现在我们的第一个图像在页面准备就绪时被加载,我们可以创建我们的“onLoad”函数:
// Here we create our "nextImg" function and create the variable called "currentImg" which will tell us what image was just loaded on the page
function nextImg(currentImg) {
//Create the variables in this function so we can use them
var preSrc = "/images/pic";
var n = currentImg++; // We add 1 to the current image number so that we can publish the next image in the folder to our page
var fileType = ".jpg";
var imgSrc = preSrc + n + fileType;
var img = '<img src="' + imgSrc + '" onLoad="nextImg(' + n + ');" onError="stopLoad(this);" />';
$('#imgContainer').append(img); // Now that we have incremented our image number, this statement will now add the next image in our folder to the page.
}
两个下来,一个去!
现在让我们开始处理最后一个函数onError
.
// Here we have the same setup as the last function except for the name
function stopLoad(currentImg) {
// Now we simply make sure that there is no "broken image" link left on the page
$(currentImg).css('display', 'none');
$(currentImg).css('visibility', 'hidden');
}
希望这对您有所帮助,如果您有任何问题或建议(我相信有更好的方法可以做到这一点),请随时告诉我!