6

配列を関数に渡したいです(正しい軌道に乗っているかどうか教えてもらえますか?)

次に、関数で配列内の値をループ処理し、それぞれを HTML の次の LI 要素に追加します。

これは私がこれまでに持っているもので、ユーザーが渡したい URL 値をコーディングします。

var arrValues = ['http://imgur.com/gallery/L4CmrUt', 'http://imgur.com/gallery/VQEsGHz'];
calculate_image(arrValues);

function calculate_image(arrValues) {
    // Loop over each value in the array.
    var jList = $('.thumb').find('href');
    $.each(arrValues, function(intIndex, objValue) {
        // Create a new LI HTML element out of the
        // current value (in the iteration) and then
        // add this value to the list.
        jList.append($(+ objValue +));
    });
}
}

HTML

<li>
    <a class="thumb" href="" title="Title #13"><img src="" alt="Title #13" /></a>
    <div class="caption">
        <div class="download">
            <a href="">Download Original</a>
        </div>
        <div class="image-title">Title #13</div>
        <div class="image-desc">Description</div>
    </div>
</li>
4

1 に答える 1

7

配列を渡したい場合は、単純にパラメーターとして入れます。Javascript では、数値、文字列、配列、オブジェクト、さらには関数をパラメーターとして渡すことができます。

サムネイル ビルダーの実装については、次の例を参照してください: http://jsfiddle.net/turiyag/RxHys/9/

まず、配列を定義します。

var bluearray = [
    'http://fc02.deviantart.net/fs30/f/2008/056/8/0/Purple_hair___Bipasha_Basu_by_mstrueblue.jpg',
    'http://static.becomegorgeous.com/img/arts/2010/Feb/20/1805/purple_hair_color.jpg',
    'http://img204.imageshack.us/img204/6916/celenapurpleqp7.jpg'
    ];
var greenarray = [
    'http://25.media.tumblr.com/tumblr_m7fqmkNEhc1qlfspwo1_400.jpg',
    'http://www.haircolorsideas.com/wp-content/uploads/2010/12/green-red-hair.jpg',
    'http://fc02.deviantart.net/fs71/i/2010/011/9/c/Neon_Yellow_and_Green_Hair_by_CandyAcidHair.jpg'
    ];

次に、DOM が読み込まれたら、関数を呼び出してサムネイルを読み込みます。

$(function() {
    addThumbs(bluearray);
    addThumbs2(greenarray);
});

addThumbs は、jQuery の each 関数を使用して、物事を少しきれいにします。通常の Javascript の for ループを使用する方が見栄えが良く、使いやすいことがわかりました。

function addThumbs(paths) {
    $.each(paths,function(index, value) {
        $("div").append('<img src="' + value + '" />');
    });
}

しかし、ネイティブ Javascript のファンなら、通常の for ループは addThumbs2 に実装されています。

function addThumbs2(paths) {
    for(index in paths) {
        $("div").append('<img src="' + paths[index] + '" />');
    }
}
于 2013-02-06T11:29:40.063 に答える