2016-01-21 103 views
1

我试图做一个简单的函数,所以一个元素会淡入然后淡出。 这是我的代码:

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" /> 
 

 

 
\t <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函数的参数,但是我用我的代码玩了一下,尝试了其他的东西,所以我就不得不把它拿回来。无论如何,我删除了双引号,现在它工作。谢谢大家。

+0

凡'sender'定义? – guest271314

回答

0

首先,你打电话给你的函数$(this)作为参数,但您无需声明,请以此方式开始:

function FadeThisOut(object) { 
} 

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

再次在函数调用,您应该对当前对象调用不带引号,即:$(本)

0

您是不是要找使用

FadeThisOut($(this)); 

(不含双引号)

正如文森特说,你也没有参数的FadeThisOut功能