我有一个页面显示多个图像中的单个图像。我将所有图像存储在json对象(photoarr)中,以便来回导航我使用此函数:
function setPhoto(index) {
var photo = photoarr[index];
$('#photoId').text(photo.id);
$('#photo').attr({ 'src': photo.url, 'alt': photo.title });
$('#photoTitle').text(photo.title);
$('#photoWidth').text(photo.width);
$('#photoHeight').text(photo.height);
$('#photoTitle').width($('#photo').width());
}
我的挑战是当我到达最后一行时尝试设置#photoTitle
宽度以匹配#photo
宽度$('#photo').width()
为0(零)。
就好像我需要“刷新”我为实际获得新图像宽度所做的DOM更改...
如果上述任何一个有意义,请告诉我该怎么做......
提前致谢
答案 0 :(得分:3)
您可以尝试类似
的内容function setPhoto(index) {
var photo = photoarr[index];
var img = new Image();
img.src = photo.url;
img.onload = function(){
$('#photoId').text(photo.id);
$('#photo').attr({ 'src': this.src, 'alt': photo.title });
$('#photoTitle').text(photo.title);
$('#photoWidth').text(this.width);
$('#photoHeight').text(this.height);
$('#photoTitle').width(this.width);
}
}