友人にアートワークを見せびらかすための簡単なスライダーを作成しています。私は本当に javascript/jquery にしか慣れていないので、今のところ他のものを 100% 快適に使用できるわけではありません。
私の友人はプログラミングの知識がないので、彼女が更新しやすいように (つまり、新しい画像をフォルダーに追加するたびに新しい画像を自動的に作成するように) 維持しようとしています。彼女は画像をフォルダーにアップロードし、それらに番号を付ける必要があります (つまり、1.jpg、2.jpg)。私の JavaScript は for ループを使用して数値をループし (新しい画像を追加するたびにループを更新する必要があります)、それらをファイル名に挿入します。ただし、これにより、彼女は 1 種類のファイルのみをアップロードするように制限されます。javascriptのみを使用して拡張子を変更する方法はありますか?
これは私がこれまでに持っているものです:
function callImages(){
//create the image div
$('.artslider').append('<div class="image"></div>');
//create the files array
var files = [];
//start the loop, starting position will have to be updated as images are added
for (i=8;i>=0;i--){
//create the img src for a jpg img
var imgJPG = 'arts/'+i+'.jpg';
//find the natural width of the image after it loads to see if it actually exists
var imgWidth = $('imgJPG').load().naturalWidth;
//if the width is undefined, replace the jpg extension with gif
if (imgWidth===undefined){
var imgGIF = imgJPG.replace('jpg', 'gif');
files[i] = '<img src="'+imgGIF+'" class="artsliderimg"/>';
}
//otherwise keep the jpg extension
else {
files[i] = '<img src="'+imgJPG+'" class="artsliderimg"/>';
}
//then add the images to the img div
$('.image').append(files[i]);
}
};
この if/else の問題は、gif 画像しか作成しないことです。順序を入れ替えると、jpg 画像のみが作成されます。
編集: このコードが生成するものは次のとおりです: https://googledrive.com/host/0B1lNgklCWTGwV1N5cWNlNUJqMzg/index.html