0

这是我的代码:

function hideColumnAndShowOther(columnToHide, columnToShow) {
$(columnToHide).fadeTo("slow", 0.0, function() {
                       $(columnToShow).fadeIn("slow");
                       });
}

在这种情况下,不会调用回调函数。我已经使用 firebug 工具来找出问题的根源。在回调函数中,“columnToShow”变量不存在。我认为这是合乎逻辑的,因为它是一个单独的块,但是我该如何解决呢?你有什么秘诀吗?

谢谢!

4

1 回答 1

1

问题是 columnToShow 变量超出范围。那个时候什么都没有。而是尝试 $(this).fadeIn("slow")。

$(this) 指的是您刚刚淡出的元素,因为回调函数已附加到该元素。

编辑:(误读问题)

如果您将其更改为以下内容,它应该可以工作。

function hideColumnAndShowOther(columnToHide, columnToShow) {
    var showColumn = columnToShow;
    $(columnToHide).fadeTo("slow", 0.0,
        function() {
           $(showColumn).fadeIn("slow");
        });
}
于 2010-10-29T08:45:14.070 回答