私が抱えている問題は、説明がかなり複雑です。画像のスライドショーを表示する JavaScript を作成しましたが、必要以上のリソースを使用しているにもかかわらず、かなりうまく機能します
// imgArr[] is populated before
var i = 0;
var pageLoaded = 0;
window.onload = function() {pageLoaded = 1;}
function loaded(i,f) {
if (document.getElementById(i) != null) f();
else if (!pageLoaded) setTimeout('loaded(\''+i+'\','+f+')',100);
}
}
function displaySlideshow() {
document.getElementById(destinationId).innerHTML = '<div id="slideWindow"><img src="'+imgArr[i]+'" />' + '<img src="'+imgArr[i + 1]+'" /></div>';
setTimeout('displaySlideshow()',1000*3);
i++;
if (i >= imgArr.length - 1)
i = 0;
}
loaded(destinationId,displaySlideshow);
したがって、このスクリプトは 2 つの画像を HTML 要素に動的に追加し、それを div で囲みます。
div は画像の高さと幅でスタイル設定され、オーバーフロー (2 番目の画像) は非表示になります。2 番目の画像は最初の画像の下にあり、スライドショーは右から左に移動するように意図されています。
私の質問は 2 つあります。1) これを行うためのより効率的な方法はありますか? 2) 画像をアニメーション化するにはどうすればよいですか? CSSを使用して最初の画像の右側に2番目の画像を配置し、タイマーを設定して(スタイルを介して)画像を左に引っ張る必要がありますか?