1
我有一个应用程序,打开一个div与几个缩略图的图像。当点击一个图像时,一个新的div将打开全尺寸的图像,div的宽度和高度应与图像相同。如何存储通过AJAX检索数据供以后使用
从php文件我回顾了几个参数的对象,例如。 thumbWidth/thumbHeight和宽度/高度。我需要做的是存储每个图像的宽度和高度,以便我可以打开正确大小的div。什么是最好的方式来做到这一点?我想我可以将宽度和高度存储在多维数组中,但我想有更好的方法吗?
正如你可以在下面的代码中看到的,我尝试存储例如。 this.width在变量'imgWidth'中并将其应用于事件,但每个图像都会获取最后一次检索的宽度和高度,因此不起作用。
$.getJSON('...getJSONThumbs.php', function(json) {
$.each(json, function() {
if (this.thumbWidth > maxWidth){
maxWidth = this.thumbWidth;
}
if (this.thumbHeight > maxHeight){
maxHeight = this.thumbHeight;
}
var box = $('<div/>', {
'class': 'imgDiv',
'width': maxWidth,
'height': maxHeight,
}).appendTo('.imageArea:last');
var a = $('<a/>', {
'href': '#',
}).appendTo(box)
var img = $('<img/>', {
'src': 'pics/' + this.fileName,
'width': this.thumbWidth,
'height': this.thumbHeight,
}).appendTo(a);
imgWidth = this.width;
imgHeight = this.height;
box.click(function(event) {
event.preventDefault();
console(imgWidth + " " + imgHeight); // always the last images width and height
$('#desktop').css("background-image", "url(" + img.attr('src') + ")");
});
jQuery(loaderImage).hide();
});
});
工程就像一个魅力,谢谢! – holyredbeard 2011-12-28 13:19:27