Php 需要在jquery/json中为photo viewer中的数组提供一些提示吗
我正在从头开始制作一个照片查看器,它工作得很好,除了一些东西 代码如下所示: 首先,我有当前相册的ID,并打印属于该照片的所有图像。然后,当用户单击照片时,发生以下情况:Php 需要在jquery/json中为photo viewer中的数组提供一些提示吗,php,jquery,json,Php,Jquery,Json,我正在从头开始制作一个照片查看器,它工作得很好,除了一些东西 代码如下所示: 首先,我有当前相册的ID,并打印属于该照片的所有图像。然后,当用户单击照片时,发生以下情况: var loaded = []; var albums = []; var album_id = ALBUM ID var cur_pic = 0; var alb_name = ''; $('.photo').click(function(){ var cov
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');
});
这是可行的,但我现在的问题是:
如何解决?今天早上我有点困惑,但现在答案很清楚了。首先需要做的是将图像ID发送到打开图像查看器的jquery函数中。然后,当我从AJAX调用返回结果时,我简单地执行以下操作:
for(var i = 0; i < albums[album_id].length; i++) {
if(albums[album_id][i]['ImageID'] == imgId){
var newStep = i;
}
}
如果我想在相册外查看照片时获得相同的结果-在单个页面上。解决方案现在应该相当清楚了。我发送了相册的ID和照片的ID。然后我以同样的方式使用AJAX并获得JSON数组
并让用户看到照片。用户现在可以在相册中导航,而看不到其他图像,因为它们位于阵列中
多一点。为了获得如下导航信息:110的照片20,我做了以下操作:
$('#PhotoViewerBottomBarContent').html(parseInt(cur_pic+1)+' of '+albums[album_id].length);
我必须有+1,因为数组总是以0开头
所以解决方案很简单:)我知道如何在数组中找到当前值的数字,所以现在我需要找到问题2的解决方案。我在数组中使用了一个for循环,当它与图像上的ID匹配时返回值。
albums[album_id][newStep]['ImagePath']
$('#PhotoViewerBottomBarContent').html(parseInt(cur_pic+1)+' of '+albums[album_id].length);