0
サムネイルをクリックすると、自分のノードに対応する複数の画像をロードしようとしています。xmlとjqueryを使用して同じノードに画像セットをロードする
クリックすると1画像を読み込むことができますが、複数の画像を読み込む必要があります。私は
xmlでサムネイル画像を読み込んでいます。
var $container = $('.window_body');
var images = new Array();
var id = 0;
init();
function init() {
$('<div class = "thumbnail_layout layout_type"></div>').appendTo('.window_body');
$.get('sites.xml', function (d) {
$(d).find('site').each(function (i, l) {
var imageUrl = $(this).find('imgurl').text();
var title = $(this).find('title').text();
var url = $(this).find('url').text();
var brief = $(this).find('brief').text();
var long = $(this).find('long').text();
var classa = $(this).find('_class').text();
images[i] = $(this).find('img').text();
$('<div id="' + "p" + i + '" class="' + classa + '"></div>').html('<a> <img src="' + imageUrl + '" class="thumbnail" />' + '<h1>' + title + '</h1> </a>').appendTo('.thumbnail_layout');
});
$(".item").click(function() {
var index = $(this).prevAll().length;
var datelength = $(".item").length
for(var i = 0; i <= datelength; i++) {
if(i == index) {
$("#holder").empty();
$("#holder").prepend('<img id="my_img" src="' + images[i] + '" />');
} else {}
}
});
})
}
XML:次に
images[i] = $(this).find('img').text();
:
<?xml version="1.0" encoding="iso-8859-1"?>
<sites>
<site>
<imgurl>images/thumbnail_big_a.jpg</imgurl>
<title>test</title>
<url>http://www.1.com</url>
<desc>
<brief>brief description.</brief>
<long>long description</long>
</desc>
<bimgurl>
<img>images/thumbnail_big_a.jpg</img>
<img>images/thumbnail_big_b.jpg</img>
<img>images/thumbnail_big_a.jpg</img>
</bimgurl>
<_class>item red</_class>
</site>
</sites>
だから私はthあなたは上記のものを私のイベントハンドラに入れますが、まだそれを働かせることはできません。 – user992731
あなたはもっと具体的でなければなりません、あなたは何をエラーしますか?取得する?それは1つの画像で動作しますか?複数のイメージを置くとどうなりますか? タグが生成されている場合、開発者ツールをチェックインしましたか?それ以上のことを知らなくても問題が何であるかを知ることは難しいです... – aKzenT
これは私がそれをした方法です:for(i == index){ \t \t images [i] .each(function(i){ $( " #holder ")。prepend( ''); }); – user992731