このサイトのおかげで、サーバーから json データが返され、ページに適切に入力されるようになりました。
返されるフィールドの 1 つがNUM_PHOTOS
. それぞれに少なくとも 1 枚の写真がありますitem.id
。
しかし、実際の写真は json データにはありません。それらは diff ディレクトリにあり、すべてが増加し、その特定のアイテムに存在するものに'item.id'+/1.jpg
応じて始まります。NUM_PHOTOS
たとえば、アイテム '20090' の場合、別のディレクトリに 5 枚 /20090/1.jpg, 20090/2.jpg, etc.
の写真があります。.jpg
それぞれの NUM_PHOTOS に従って、前に付ける番号を増やすにはどうすればよいですかitem.id?
以下のコードを使用して、すべての 'item.id' の最初の 3 つの画像をフレックスサイダーに動的に入力しましたが、もちろん写真の数はさまざまであり、含まれている.jpg'
s のプレフィックスを追加するために必要なものにこだわっています。NUM_PHOTOS
それぞれのitem.id.
$('.flexslider .slides').append('<li><img src="http://url/data/listing/pics/' + item.id + '/1.jpg"></li>');
$('.slides').append('<li><img src="http://www.url.co.nz/data/listing/pics/' + item.id + '/2.jpg"></li>');
$('.slides').append('<li><img src="http://www.url.co.nz/data/listing/pics/' + item.id + '/3.jpg"></li>');
}
私はいくつかのテクニックを試しましたが、完全な初心者として少し手を加える必要があります..
JS is:
$('#detailsPage').live('pagebeforeshow', function(event) {
var id = getUrlVars()["id"];
$.getJSON('http://www.url.co.nz/feeds/json_detail.php?id='+id, displayItem);
});
function displayItem(data) {
var listing = data.item;
$('#id').text(listing.id + ', ' + listing.suburb + ', ' +listing.district);
$('#Title').text(listing.title);
$('#numberPhotos').text(listing.num_photos);
$('#price').text('Price Approx: ' + '$' + listing.price );
// how do i auto increment the .jpg according the 'num_photos' field returned from json?
// ????? if (listing.num_photos???????) {
$('.flexslider .slides').append('<li><img src="http://www.url.co.nz/data/listing/pics/' + listing.id + '/1.jpg"></li>');
$('.slides').append('<li><img src="http://www.url.co.nz/data/listing/pics/' + listing.id + '/2.jpg"></li>');
$('.slides').append('<li><img src="http://www.url.co.nz/data/listing/pics/' + listing.id + '/3.jpg"></li>');
}
function getUrlVars() {
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}