0

私は私の画像をループして実行し、それらを1つずつロードするjqueryコードを持っています.結果の最後の画像を「a」タグに挿入するという事実のほかに、すべて正常に動作します! これが私のコードです(「var a」を見てください...変数「thissrc」をループごとに異なる方法で挿入する必要があります:

$.get(url, function (data) {
    var countImages = data.length;
    console.log("count: " + countImages);
    var $ul = $('#thumbs').empty();
    var counter = 0;
    for (var i = 0; i < countImages; ++i) {
        try {
            var description = data[i].desc[0];
        } catch (e) {
            description = '';
        }
        if (description == undefined) description = '';
        var thissrc = data[i].src;
        console.log("ME: " + thissrc);
        $('<img width="' + screen.width / 2.4 + '" alt="' + data[i].alt + '" title="' + description + '"/>').load(function () {
            ++counter;
            var $this = $(this);
            var $li = $('<span/>', {
                className: 'pic'
            });
            var $a = $('<a/>', {
                href: '#',
                    'id': 'rel',
                    'data-inline': true,
                    'data-transition': 'slide',
                className: 'show-page-loading-msg',
                    'data-referrer': 'photo_container',
                    'data-imgsrc': thissrc
            });
            $ul.append($li.append($a.append($this)));
            if (counter == countImages) {
                $thumbscontainer.append($ul.show());
            }
        }).attr('src', data[i].src);

    }
}, 'json');

前もって感謝します!

エラン。

4

2 に答える 2

0

data-imgsrc画像の src を読み戻すことで設定できるはずです。つまり、次のようになります。

'data-imgsrc': this.src

これは、img が作成されてから最初の src が正常にロードされるまでの短い間に、他のコードが src を変更する機会がないと仮定すると信頼できます。

これが安全な仮定ではない場合、解決策はやや複雑になりますが、まったく珍しいことではありません。

于 2013-06-08T19:49:30.310 に答える