我正在将一个变量设置为图像的宽度,以便我可以使描述 div 以正确的宽度出现。但是,jQuery 似乎没有适合我需要的回调函数。我该怎么办?
$(document).ready(function () {
// declare photo width variable
var photo_width = 0;
$('.chImg').click(function () {
// get img src and chop it up
var srcv = $(this).attr('src');
var sliced = srcv.slice(6);
// return the base number of the image for correspdonding div
// corresponding div is "d#"
var divnum = sliced.substring(0, sliced.length - 4);
// fade out active description div
$(".activeDescript").each(function () {
$(this).removeClass("activeDescript");
$(this).fadeOut(110);
});
// change picture
$("#chBox").fadeOut(110, function () {
$("#chBox").html("<center><img src='" + sliced + "'/></center>");
});
// vertical align
$("#chBox").vAlign();
$('#chBox').waitForImages(function () {
// wait for images before grabbing img width
$("#chBox img").each(function () {
photo_width = $(this).width();
$(".description").width(photo_width);
$("#d" + divnum).fadeIn(300);
// make this descript active
$("#d" + divnum).addClass("activeDescript");
});
$("#chBox").fadeIn(200);
});
});
我最关心的是 photo_width = $(this).width(); 周围的代码 因为我想确保在发生之后执行以下代码。想法?我知道描述 div 设置不正确,因为需要单击 2 次才能正确设置!您可以在 www.graysonearle.com/newtest 上看到错误,然后单击第一个框“Frog Utopia”并单击几个缩略图。