IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

objet et nom d'objet


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    IGE
    Inscrit en
    Mai 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : IGE
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut objet et nom d'objet
    bonjour,
    En développant mon site web je suis tombé sur un OS qui est la différence entre un un nom et un nom d'objet.
    Je m'explique avec le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function raz(num, nb) {
        for(var i=0; i<nb; i++){
    		if(i != num){
    			chaine = "song" + String(i);
    			chaine.pause();						// song1.pause() ; song2.pause(); etc...
    			chaine.currentTime = 0;
    			chaine = "play" + String(i);
    			chaine.style.display = "initial";	// play1.pause() ; play2.pause(); etc...
    			chaine = "pause" + String(i);
    			chaine.style.display = "none";		// pause.style.display = "none"; pause.style.display = "none"; etc...
    		}
    	}
    }
    Je m'attend à avoir des commandes du type:
    song1.pause() ; song2.pause(); etc...
    play1.pause() ; play2.pause(); etc...
    pause.style.display = "none"; pause.style.display = "none"; etc...

    Et puis... non, ça ne fonctionne pas.

    Quelqu'un aurai-t-il une idée de mon erreur?

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    un string est un string ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    chaine = "song" + String(i);
    window[chaine].pause();
    Ou si la chaine est l'id de ton objet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    chaine = "song" + String(i);
    lecteur=document.getElementById('chaine');
    lecteur.play();

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    IGE
    Inscrit en
    Mai 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : IGE
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Super, Merci.
    Et juste une dernière question:
    Y a-t-il un moyen de vérifier si l'objet window[chaine] existe, ou pas?

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Peut être avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (window.hasOwnProperty(chaine))

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    IGE
    Inscrit en
    Mai 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : IGE
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    C'est bon, je m'en suis sorti comme ça.

    Grand merci à toi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    function raz(num, nb) {
        for(var i=0; i<nb; i++){
    		if(i != num){
    			chaine = "song" + String(i);
    			erreur = 0;
    			try{
    				window[chaine].pause();
    			}
    			catch(err){
    				erreur = 1;
    			}
    			if (erreur == 0){
    				window[chaine].currentTime = 0;
    				chaine = "play" + String(i);
    				window[chaine].style.display = "initial";	// play1.pause() ; play2.pause(); etc...
    				chaine = "stop" + String(i);
    				window[chaine].style.display = "none";
    			}
    		}
    	}
    }

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 075
    Points : 44 657
    Points
    44 657
    Par défaut
    Bonjour,
    C'est bon, je m'en suis sorti comme ça.
    certes mais tu aurais pu faire un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    chaine = "song" + i;
    if (window[chaine])[
      // l'élément existe on le traite
    }
    il serait peut-être préférable de travailler avec des arrays/collections d'éléments pour pouvoir boucler avec un forEach par exemple.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DisplayTag] Error looking up property "nom" in objet type "mysample.Personne"
    Par slyv dans le forum Taglibs
    Réponses: 3
    Dernier message: 02/03/2011, 17h53
  2. [POO] Instancier un objet avec le nom de la classe
    Par shinchun dans le forum Langage
    Réponses: 4
    Dernier message: 08/06/2006, 13h44
  3. Réponses: 7
    Dernier message: 03/12/2004, 12h40
  4. Nom d'Objet Invalide
    Par etiennegaloup dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 15/11/2004, 09h17
  5. Réponses: 11
    Dernier message: 16/10/2004, 18h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo