0

次のコードが提案されていますが、完全には機能していません:-(。クリックすると画像の配列(var imgs)を表示し、配列の最後に最初のimg=1に戻ります。ご協力いただければ幸いです。ありがとうございます。制限画像表示

 var imgs = ["'pic1lg.jpg","pic2lg.jpg","pic3lg.jpg","pic4lg.jpg","pic5lg.jpg"];
 var baseURL = 'images/art_contests/2005/';

 var x=imgs.length;
 function change(){
 if (x>0) { document.getElementById("bob").src=baseURL+imgs[--x]; } 
 }
 window.onload = function() { change(); }
 </script>
 </head>
 <body>
 <img src="" id="bob" alt="" onmousedown="change()">
 </body>

ちなみに、「ボブ」とは何ですか?

4

3 に答える 3

1
<script>

var imgs = ["pic1lg.jpg","pic2lg.jpg","pic3lg.jpg","pic4lg.jpg","pic5lg.jpg"];
 var baseURL = 'images/art_contests/2005/';

 var imagesLength= imgs.length;
 var current = imgs.length;
 function change(img){
    if(current <= 0)
        current = imagesLength;
    img.src=baseURL+imgs[--current];
 }
 window.onload = function() { change(); }
;
 </script>
 </head>
 <body>
 <img src="" id="bob" alt="" onmousedown="change(this)">
 </body>
于 2012-11-05T05:04:30.030 に答える
0

最初にロールバックする場合は、値がx0 未満になったら、値をリセットする必要があります。

if (x < 0) {
  x = imgs.length - 1;
}
document.getElementById("bob").src = baseURL+imgs[x--];

これが行うことは、画像を変更する前に の値をチェックし、xそれが 0 より小さい場合 (0 が最初の画像)、配列の長さより 1 小さい値に設定します (配列のインデックスは 0 ベースなので、最後の項目のインデックスはlength-1)。

于 2012-11-05T04:59:58.677 に答える
-1

これを試してみてください
。選択した現在の配列に国を追加しました。

<script>
var imgs = ["'pic1lg.jpg","pic2lg.jpg","pic3lg.jpg","pic4lg.jpg","pic5lg.jpg"];
var baseURL = 'images/art_contests/2005/';

 var x=imgs.length;
 var latest = 0;
 function change(){

    if (x>0) { 
        if(latest < x){
            document.getElementById("bob").src=baseURL+imgs[latest];
            latest++;
        }else{
         latest = 0;    
        }
    } 
 }

 </script>
 </head>
 <body>
 <input type="button" onclick="change()"/>
 <img src="" id="bob" alt="" onclick="change()">
 </body>
于 2012-11-05T05:04:43.870 に答える