私は jQuery を使用します。ここで見つけてください: http://jquery.com/download/すべてpicという名前のフォルダー(例: pic1.jpg 、 pic2.jpg 、 pic3.jpg など)
内の画像を循環することでこれを実現します。 ..)
過去にこれを行った方法は、単純に 2 つの関数を画像に追加することでした。
最初の存在onLoad
- これにより、関数を呼び出して次の画像を追加できます
2つ目は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);" />';
では、ここで何が起こっているのでしょうか?
最初のいくつかの変数は自明ですが、画像のソースを作成しているだけです。ただし、ここでの最後の変数はもう少し難しいです。ドキュメントに追加される実際の html タグを保持するimgという変数を作成しています。また、現在の画像が何であるかについてのデータも保持します(n)。
それには、私が話したい 2 つの属性もあります。
最初はonLoad
関数です:
- ここでは、 という名前の関数を呼び出します
nextImg
。この関数はすぐに作成しますが、ここでは、フォルダー内の次の画像をページに公開する準備が整っていることだけを知っておいてください。
2番目はonError
関数です:
- ここでは、 という名前の関数を呼び出します
onError
。これは間違いなく画像の読み込みを停止する最良の方法ではありませんが、私が個人的に見つけた唯一の方法であり、プレーンな JavaScript で動作します。繰り返しますが、これは瞬間的なものです。画像がなくなると、画像の読み込みが停止することを覚えておいてください。
画像のソースを処理したので、画像をページに追加する関数を作成する必要があります。この関数はいくつかの異なる方法で呼び出すことができますが、ここでは 1 つに固執します。
//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.
}
2 ダウン、あと 1 つ!
それでは、最後の関数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');
}
ご質問やご提案がありましたら (もっと良い方法があると思います)、お気軽にお知らせください。