2016-01-21 186 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功能