begin process at 2012 05 29 18:39:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Classes

 > 

probleme avec des setTimeout dans une class


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme avec des setTimeout dans une class

mardi 17 février 2009 à 14:08:31 | probleme avec des setTimeout dans une class

astyan54

je sais que mon sujet est loin d'etre le premier avec ce genre d'intitulé, mais j'ai beau chercher, je ne vois pas la solution a mon problème.

voila, je cherche a faire un compte a rebours. pour ce faire, j'ai fait une class cptrebour

le probleme, c'est que lorsque j'arrive dans le methode tour, this et indefini. j'ai bien vu des personne avec le meme probleme, mais leur solution ne marche pas (si j'ai bien appliquer leur conseilles)




voici mojn code :

var cp = new cptrebour(0,1,30,"alert('coucou')",ecrant);
cp.start();

cp.affbeforelt();

function cptrebour(heurs,min,sec,action,elt) {
    // Attributes
    this.h = str2int(heurs) ;
    this.m = str2int(min) ;
    this.s = str2int(sec) ;
    this.action = action;
    this.elt = elt;
    this.actif = true;
    // Methods
    this.decrsec = function()
    { // Returns sum of all ressources
        alert("lolilol");
        if (this.s > 0 )
        {
            this.s--;
        }
        else if (this.m > 0)
        {
            this.m--;
            this.s = 59;
        }
        else if(this.h > 0)
        {
            this.h--;
            this.m = 59;
            this.s = 59;
        }
        else if (this.h == 00 && this.m == 00 && this.s == 00)
        {
            eval(this.action);
            this.h = -1;
            this.m = -1;
            this.s = -1;
            this.actif = false;
        }
    }
   
    this.tour = function()
    {
        var obj = this;
        alert(obj.actif);  <==  "undefined"
        if (obj.actif == true) <== ne passe jamais la boucle
        {
            obj.decrsec();
            window.setTimeout(obj.tour, 1000);
            obj.affbeforelt();
        }
    }
   
    this.start = function()
    {
        alert("start"); <== ok
        var obj = this;
        window.setTimeout(obj.tour, 1000);
        obj.actif = true;
    }
   
    this.aff = function()
    {
        elt.innerHTML =  this.tostring();
    }
   
   
    this.affbeforelt = function()
    {
        var ecrant = elt;
        ecrant.snapshotItem(0).innerHTML = '<br /> <strong> '+this.tostring()+'</strong>'+ecrant.snapshotItem(0).innerHTML ;
    }
   
    this.tostring = function()
    {
        return this.h+" heurs "+ this.m + " minute "+this.s+" second";
    }
   
}
function str2int(str) {
    if ( str.replace ) // If param is a string
        return parseInt(str.replace(/\./g,'')) ; // Removes dots, parses as int
    else // If param isn't a string
        return str ; // Hope it's an int
}
mercredi 18 février 2009 à 17:03:15 | Re : probleme avec des setTimeout dans une class

PetoleTeam

Membre Club
Bonjour,
un petit tour du coté de SETINTERVAL SETTIMEOUT CLASS OBJET
avec notamment l'utilisation de la fonction
//-- return la reference de la fonction fct_ de l'objet o_
function Get_RefFonction( o_, fct_){
  return( function(){o_[ fct_]()});
}

bonne lecture...
;O)


Cette discussion est classée dans : function, actif, obj, elt, if


Répondre à ce message

Sujets en rapport avec ce message

changer le sens d'un texte qui défile [ par anthony428 ] Bonjour à tous, je viens de plonger les mains dans un site dont je suis chargé de faire la refonte et je souhaiterais changer le sens du texte qui d 2 défilements d'images dont un qui reste figé [ par Sweety521 ] Bonjour, je souhaite réalisé deux défilements d'images de partenaires. J'ai bien les 2 barres que je souhaite mais le souci c'est qu'il y en un qui r JavaScript - Erreur = Null [ par SpaceHam ] Je veux faire en JavaScript une page de création bien simple. J'ai un message d'erreur qui m'affiche comme quoi on attend un objet qui serais à Null. modification lightbox .... bouton close en haut a droite [ par petardier ] bonjour,je souhaite modifier une light box en mettant le bouton close en haut a gauche , plutot qu'en bas.Ainsi, quand une image est plus grande que l jquery / Mootools non compatible ? [ par dreadstock ] Bonjour à tous ,Je suis en train de créer un site web pour mon frangin. Je souhaite intégrer 2 bibliothèques jquery et mootools plus particulierement Problème avec IE sur un menu + parent.frame [ par tipouic ] Bonjours, j'ai repris un vieux menu que j'ai modifié afin de rajouté des onglets de navigation avec des vrais liens dans le menu ( avec target). Par c IE8 > drag qui agrandit la zone affichable pourtant en overflow hidden [ par neiimad ] Bonjour. Ma zone affichable s'agrandit sous IE8 lorsque je tente de déplacer mon élément hors de celle ci, malgré l'overflow hidden. Je n'ai pourtan Jquery validation formulaire [ par alphacrash ] Bonjour, j'ai un problème avec jQuery et une validation de formulaire qui marche sous FF et naturellement sous IE, erreur: Idenificateur, chaine ou no Chargement ajax du contenu au clic sur marqueur Google Maps V3 [ par vince240986 ] Bonjour, Voilà plusieurs jours que je bloque sur la création d'une fonction. L'idée est la suivante, j'ai crée une appli avec une base de données et mon diapo ne s'affiche pas sans connection [ par hitu ] Bonjour j'ai réalisé un diaporama mais celui ne s'affiche pas quand je ne suis pas connecté! Merci d'avance voici mon code: [code=as][code=html]


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales