我試圖瓦解要求一個div,但我的setTimeout函數的意志不能成功調用它的回調函數。這是下面的代碼:爲什麼setTimeout回調會給我一個錯誤?
function newsFeed() {
this.delete = function(listingID) {
var listing = document.getElementById(listingID);
var currHeight = listing.offsetHeight;
var confirmDelete = confirm("Are you sure you'd like to delete this listing forever?");
if (confirmDelete) {
this.collapse(listingID,currHeight,currHeight,100);
}
}
this.collapse = function(listingID,orig_height,curr_height,opacity) {
var listing = document.getElementById(listingID);
var reduceBy = 10;
if(curr_height > reduceBy) {
curr_height = curr_height-reduceBy;
listing.style.overflow = "hidden";
listing.style.height = (curr_height-40) + "px";
if(opacity > 0) {
opacity = opacity - 10;
var opaque = (opacity/100);
listing.style.opacity=opaque;
listing.style.MozOpacity=opaque;
listing.style.filter='alpha(opacity='+opacity+')';
}
setTimeout("this.collapse('"+listingID+"',"+orig_height+","+curr_height+","+opacity+")",1);
}
}
}
var newsFeed = new newsFeed();
,我把它叫做文件如下:
<div id="closeMe">
<a onclick="newsFeed.delete('closeMe');">close this div</a>
</div>
當它到達內this.collapse的setTimeout函數...它的錯誤「this.collapse不是一個功能「。
做我把這個新聞源中()或this.collapse函數內?又名...應該是'這'實際上指的是什麼? – johnnietheblack 2009-09-02 21:21:52
...對不起,因爲現在即時得到self.collapse不是一個函數 – johnnietheblack 2009-09-02 21:22:47
得到它,你統治 – johnnietheblack 2009-09-02 21:34:07