jquery fadeIn函数,带有$(“this”)参数的回调函数

时间:2016-01-21 16:53:40

标签: javascript jquery

我正在尝试做一个简单的函数,因此元素会淡入然后淡出。 这是我的代码:

function ShowBoxes() {
    $("#divTestArea21").fadeIn("fast", function () {
        FadeThisOut($(this));
    });
    $("#divTestArea22").fadeIn("slow");
    $("#divTestArea23").fadeIn(2000);
}


function FadeThisOut(sender) {
    sender.fadeOut("slow");
}
<!DOCTYPE html>
<html>
<head>
    <title>jQuery test</title>
    <script  src="Scripts/jquery-2.2.0.js"></script>
    <script type="text/javascript" src="Scripts/IndexScript.js"></script>
    <link href="CSS/SiteStyle.css" rel="stylesheet" />


	<meta charset="utf-8" />
</head>
<body>
    <div id="divTestArea21" style="width: 50px; height: 50px; display: none; background-color: #89BC38;"></div>
    <div id="divTestArea22" style="width: 50px; height: 50px; display: none; background-color: #C3D1DF;"></div>
    <div id="divTestArea23" style="width: 50px; height: 50px; display: none; background-color: #9966FF;"></div>
    <a href="javascript:void(0);" onclick="ShowBoxes();">Show boxes</a>
  

</body>
</html>

有人可以向我解释为什么它不起作用以及如何解决它?

编辑:你是对的,我有一个FadeThisOut函数的参数,但我玩了一段时间我的代码并尝试了其他的东西,所以我原谅要把它带回来。无论如何,我删除了双引号,现在它正在工作。谢谢大家。

2 个答案:

答案 0 :(得分:0)

您的意思是使用

FadeThisOut($(this));

(没有双引号)

正如文森特所说,你也没有参与FadeThisOut函数

答案 1 :(得分:0)

首先你用$(this)作为参数调用你的函数,但你没有声明它,首先这样做:

function FadeThisOut(object) {
}

其次你使用sender [0],但你没有告诉我们什么是发送者数组。

第三,在你的函数调用中,你应该调用当前没有引号的对象,即:$(this)