jQuery - fadeOut回调函数不起作用?

时间:2010-11-27 05:23:49

标签: jquery html jquery-ui

我有以下代码片段:

$(".caption").click(function () {
    var enlargementDiv = $(this).closest(".image-enlargement");
    enlargementDiv = enlargementDiv.find("div.enlargement");
    enlargementDiv.fadeOut(500, 
       function () {
           enlargementDiv.html($(this).find("div").html()); enlargementDiv.fadeIn(500);
       }
    );
});

这基于window.load函数。如果我在函数中使用语句并将它们放在函数之后,这是有效的;但它现在不起作用。我有一个标题列表(目前它们只是一组卡片的产品代码,但是它们会说明卡片上显示的实际标题),点击其中一个我希望图像淡出,更改为一个被选中并且淡入。但是,正如我所说,这只有在我将语句放在函数之外时才有效。这意味着用户在淡出之前突然看到图像变化,这是不能令人满意的。

有人可以看到这个有什么问题吗?如果有人想告诉我检查班级名称等,请重新阅读这个问题,你会发现确实使用回调函数以外的语句!!

提前致谢。

此致

理查德

1 个答案:

答案 0 :(得分:2)

尝试:

$(".caption").click(function () {
    var $this = $(this);
    var enlargementDiv = $this.closest(".image-enlargement");
    enlargementDiv = enlargementDiv.find("div.enlargement");
    enlargementDiv.fadeOut(500, 
       function () {
           enlargementDiv.html($this.find("div").html()); enlargementDiv.fadeIn(500);
       }
    );
});