Je tente de réduire une div à la demande, mais ma fonction setTimeout n'appelle pas avec succès sa fonction de rappel. Voici le code ci-dessous:Pourquoi ce callback setTimeout me fait-il une erreur?
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();
et je l'appelle dans le document comme suit:
<div id="closeMe">
<a onclick="newsFeed.delete('closeMe');">close this div</a>
</div>
Quand il arrive à la fonction setTimeout au sein this.collapse ... il des erreurs « this.collapse n'est pas une fonction ".
est-ce que je mets cela dans newsFeed() ou dans la fonction this.collapse? aka ... est ce que «ceci» devrait faire référence? – johnnietheblack
... désolé, parce que maintenant im getting self.collapse n'est pas une fonction – johnnietheblack
got it, you règle – johnnietheblack