-1

これが私の現在のコードです。私が望むようには機能しません。JavaScriptコードを使用して、スライドショーで3枚の写真を循環させたい. text/javascript ファイルを作成し、html を作成しました。問題は他のファイルではなく、ここにあります。

var step=1;
    function slideit()
    {
        document.images.slide.src = eval("image"+step+".src");
        if(step<2)
            step++;

        setTimeout("slideit()",2500);

        else if(step<3)
            step++;

        setTimeout("slideit()",2500);

        else
            step=1;

    }
    slideit();

すべての助けに感謝します!

4

4 に答える 4

0

これはあなたにとって少しうまくいくはずで、読みやすくなっています。

var step=1;
function slideit()
{
   document.getElementById("imageId").src = eval("image" + step + ".jpg");
   if(step<3)
       step++;
   else
        step=1;
   setTimeout(slideit, 2500);
}
slideit();

または、@ Besatamin の回答を使用する場合:

var step=1;
function slideit()
{
   document.getElementById("imageId").src = eval("image" + step + ".jpg");
   if(step<3)
       step++;
   else
        step=1;
}
var sliderIntervalId = setInterval(slideit, 2500);

その後、次の方法で停止できます。

clearInterval(sliderIntervalId);
于 2013-07-18T06:57:16.340 に答える
0

私はすでに答えたもののいくつかと同様の解決策を持っています。ぜひご覧ください。Macのサファリでうまくいきました。

私は3つの画像を含む画像フォルダを持っています. 1.jpg、2.jpg、3.jpg。独自のイメージを使用してスクリプトを実行できます。私はそれがうまくいくと感じます。

htmlコードは<img name="slide" />

var step=1;
function slideit(){
document.images.slide.src = "images/"+step+".jpg";
if(step<3)
    step++;
else
    step=1;

setTimeout("slideit()",1000);   
}
slideit();
于 2013-07-18T09:00:46.420 に答える
0

さらに、それぞれをスライドさせたい場合は、setTimeout の代わりに setInterval を使用する必要があります。

于 2013-07-18T06:42:58.573 に答える