0

関数 getImageNum が連結された URL を含む配列を受け取るコードを以下に示します。したがって、これらの URL をシンボルで分割して、それらを分離できるようにします。私の変数 res = path.split("-") は、分離された URL を保持します。したがって、 res[0] は、たとえばhttp://www.host.net/dir/fileのような URL を提供します。しかし、私の問題は、res var 内のすべての URL を取得して、スライド ショーで使用できるようにすることです。res[0] の代わりに、さまざまなインデックスを自動的に保持する変数を使用できるようにしたいと考えています。アイデアについては、以下のコードを参照してください。

function getImageNum(imageArray) { 
var path;
var res;
var index = 0;

for (i in imageArray) {
    path = imageArray[i];
}

res = path.split("-");

$("#ContentPlaceHolder1_ContentPlaceHolder1_imageView").attr("src", res[index++]);
}

コード:

$("#ContentPlaceHolder1_ContentPlaceHolder1_imageView").attr("src", res[index++]);

同じ画像を返すだけで、res コンテンツ全体を処理するわけではありません

4

2 に答える 2

1
for (i in imageArray) {
    path = imageArray[i];
}

このコードは、各画像をループして、毎回最新の画像imageArrayに上書きします。pathループごとに完全に置き換えるのではなく、パスにさらにテキストを追加する場合は、連結する必要があります。ただし、すべてのパスの配列を変数に格納したいだけのように見えますがres、なぜ文字列を気にするのでしょうか?

for (i in imageArray) {
    res.push(imageArray[i]);
}

第二に、index++すべてのインデックスを自動的に反復するわけではありません。古い値を取得した後に値をインクリメントするのは演算子だけです。resすべての画像が必要な場合は、各画像を手動でループする必要があります。

于 2013-08-09T10:40:17.380 に答える
0

私があなたが何を望んでいるのかを理解していれば、それは正確に明確ではないため、ループに問題があります Lochemage によって以前に言われたように、for ループの内側で値を取得する変数を使用してfor ループの外側で何かを行うと、うまくいきません.

var imageArray = ["http://www.example.com/img1-http://www.example.com/img2-http://www.example.com/img3-http://www.example.com/img4","http://www.example.com/img5-http://www.example.com/img6-http://www.example.com/img7-http://www.example.com/img8-http://www.example.com/img9"];
// this is what I assume is your array
var imageArrayNew = [];

for(i=0; i<imageArray.length; i++) {
    res = imageArray[i].split("-");
    for(j=0; j<res.length; j++) {
        imageArrayNew.push(res[j]);
    }
}

// now imageArrayNew is an array that contains Each of the elements in imageArray and you can do stuff with it

http://jsfiddle.net/flish/U5vvv/ - 見た目のフィドル


余分な「-」を削除するように編集

于 2013-08-10T11:05:32.103 に答える