0
<img id="slideshow" src="4.png" alt="image" width="264" height="264"/>
<script>
    source=["1.jpg", "2.JPG", "3.JPG"];
    for (var i=0; i<source.length; i++)
    {
        document.getElementById("slideshow").src = source[i];
    }
</script>

これが機能しない理由がよくわかりません。これが画像で止まることに気づきました。少なくとも笑と思いますが、画像は表示されません。

どんな助けでも大歓迎です。

            <img id="slideshow" src="4.png" alt="image" width="264" height="264"/>
            <script>
            source=["1.jpg", "2.JPG", "3.JPG"];
            var i=0;
            var c=0;
            while (i<=0)
            {
            if (c<source.length)
            document.getElementById("slideshow").src = source[c];
            c++;
            else
            c=0;
            }
            </script>

各ソースで停止してから繰り返す方法はありますか?

4

2 に答える 2

2

コードにタイプミスがあります:

for (var i=0; i<source.lenth; i++)
                       ~~~~~
                       ^

そうであってはなりlengthませんlenth

于 2013-01-08T23:53:03.417 に答える
0

問題は、ブラウザーがページを再レンダリングせずに JavaScript の一部を実行することです。したがって、実際に src を変更しますが、ブラウザは終了時の状態を表示するだけなので、アニメーションは表示されません。

アニメーションを作成するには、window.setTimeout() を使用します。

ループ ( など) の代わりにfor、関数内のwhileを変更してsrcから、 を使用window.setTimeout()して同じ関数を呼び出します。

お気に入り、

var num = 0;

function foo(){
    num = ++num % 4;
    document.getElementById("image").src = "image"+num+".jpg"
    window.setTimeout("foo()", 300);
}

チップ:

  1. jQuery とその上に構築されたライブラリを試してください。

  2. Firebug プラグインを Firefox にインストールし、Javascript をデバッグして何が起こっているかを確認します。

于 2013-01-09T01:49:01.887 に答える