フォト ビューアーをゼロから作成していますが、いくつかの点を除いて正常に動作しています。
コードは次のようになります。
まず、現在のアルバムの ID を取得し、写真に属するすべての画像を印刷します。次に、ユーザーが写真をクリックすると、次のことが起こりました。
var loaded = [];
var albums = [];
var album_id = ALBUM ID
var cur_pic = 0;
var alb_name = '';
$('.photo').click(function(){
var cover_photo = $(this).attr('id').replace("911","");
albums[album_id] = [];
$('#photo_preview .pleft').html('<img src="'+cover_photo+'"/>');
$('#photo_preview').show();
$.ajax({
type: 'POST',
url: "photo_ajax.php",
dataType:'json',
data: 'action=get_info' + $('#aid').val().replace("aid",""),
success: function(data){
loaded[album_id] = true;
albums[album_id] = data;
$('#photo_preview .pleft').html('<img src="'+albums[album_id][0]['ImagePath']+'"/>'); // The first photo you click on, will be the first photo to see :)
$('#photo_preview').show();
}
})
// }
});
// Loading images and make them visible in the popup...
function loadNextImage(album_id, step){
function loadNextImage(album_id, step){
var next_pic = 0;
if(step == 0){
next_pic = 0;
}else if(step == 'next'){
next_pic = parseInt(cur_pic, 10)+1;
cur_pic = next_pic;
if(next_pic >= albums[album_id].length){
next_pic = 0;
}
}else{
next_pic = parseInt(cur_pic, 10)-1;
if(next_pic < 0){
next_pic = albums[album_id].length - 1;
}
}
cur_pic = next_pic;
$('#photo_preview .pleft').html('<img src="'+albums[album_id][next_pic]['ImagePath']+'"/>');
}
// Loading the next image in the JSON array...:
$(".preview_next").click(function(){
loadNextImage(album_id, 'next');
});
// Loading the previous image in the JSON array...:
$(".preview_prev").click(function(){
loadNextImage(album_id, 'prev');
});
photo_ajax.php で:
$i = 0; $album = array();
foreach( $aImageInfo as $row ){
$album[$i] = array();
$album[$i]['ImageID'] = $row['ImageID'];
$album[$i]['ImagePath'] = $row['ImagePath'];
$album[$i]['ImageDate'] = $row['ImageDate'];
$album[$i]['ImageDescription'] = $row['ImageDescription'];
$i++;
}
echo json_encode($album);
これは機能していますが、私の質問は次のとおりです。
var cur_pic = 0; 0 に設定されています。これは、json 配列の最初の写真の表示を開始することを意味します。クリックしたばかりの写真の配列で魔女の番号を見つけて、その場所から表示およびカウントを開始できるように、修正する必要があります。
これは現在、アルバム内でのみ機能しています。別のページに 1 枚の写真が表示されているとします。これを修正する方法-クリックすると-写真が表示され、json配列全体を取得し、クリックした写真と同じアルバムに属するすべての画像を参照できます。
ストレートな例。Facebook または Twitter と言ってください。あなたは壁に写真を持っています。それをクリックすると、アルバム全体をナビゲートできます。
の解き方?