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 :

getElementById pour accéder à un div


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 42
    Par défaut getElementById pour accéder à un div
    Bonjour,

    J'essaie en ce moment d'intégrer un background sous forme de diaporama avec un script trouvé sur le net.
    Initialement, ce dernier est destiné à changer le background général. Tout fonctionne lorsque j'ai cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.body.background = Pic[j]
    Mais le background ne s'affiche pas lorsque j'essaie d'appliquer la fonction à mon div qui a "conteneur" pour id :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById(conteneur).background = Pic[j]
    Voici le code initial :
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    // Set speed (milliseconds)
    var speed = 5000
     
    // Specify the image files
    var Pic = new Array() // don't touch this
    // to add more images, just continue
    // the pattern, adding to the array below
     
    Pic[0] = 'images/bg-0.jpg'
    Pic[1] = 'images/bg-1.jpg'
    Pic[2] = 'images/bg-2.jpg'
    Pic[3] = 'images/bg-3.jpg'
     
    // do not edit anything below this line
     
    var t
    var j = 0
    var p = Pic.length
     
    var preLoad = new Array()
    for (i = 0; i < p; i++){
       preLoad[i] = new Image()
       preLoad[i].src = Pic[i]
    }
     
    function runBGSlideShow(){
       if (document.getElementById(conteneur)){
    	   document.body.background = Pic[j]
    	   j = j + 1
    	   if (j > (p-1)) j=0
    		   t = setTimeout('runBGSlideShow()', speed)
       }
    }
    Merci de vos éclairages.

    uado

  2. #2
    Membre très actif Avatar de magnus2005
    Profil pro
    Ingenieur SI
    Inscrit en
    Avril 2005
    Messages
    454
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingenieur SI

    Informations forums :
    Inscription : Avril 2005
    Messages : 454
    Par défaut
    Est ce un simple probleme de syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("conteneur")
    Sinon ou est la variable conteneur ?

  3. #3
    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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.body.style.backgroundImage="url("+Pic[j]+")";
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.body.style.backgroundImage="url("+Pic[j]+")";
    Je ne sais pas si tous les navigateurs comprennent le document.body.

    Pour être certain du résultat, ne vaut-il mieux pas faire comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByTagName('body')[0].style.backgroundImage="url("+Pic[j]+")";

  5. #5
    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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    à priori je n'ai jamais eu de souci avec document.body, mais tu as raison, mieux vaut être prudent, je ne passe pas mes pages à la moulinnette de tous les browsers...
    Parcontre à la relecture de la question ce n'est pas le body qui pose problème, mais un div...
    Mais le principe reste le même, un sousci d'instanciation sans doute
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 42
    Par défaut
    Bonjour,

    Comme le dit SpaceFrog, c'est mon <div id="conteneur"> qui me pose problème, pas le body.
    Lorsque j'applique le code initial sur le body, ça fonctionne, mais je n'arrive pas à "sélectionner" le div. C'est pour cela que je vous pose la question, est ce bien comme celà que l'on accède à un div marqué d'un id ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById(conteneur).background = Pic[j]
    ?

    Merci encore.

    uado

  7. #7
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    @uado : Lis le post de magnus2005.

Discussions similaires

  1. Comment faire pour accéder à un noeud div nommé
    Par FDussault dans le forum jQuery
    Réponses: 5
    Dernier message: 24/09/2009, 19h00
  2. Réponses: 4
    Dernier message: 19/06/2007, 18h14
  3. [USB] [JNI] Utiliser JNI pour accéder aux ports USB
    Par Javatator dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 27/10/2005, 06h40
  4. Quoi utiliser pour accéder au DDK de Microsoft ?
    Par - Robby - dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 11/11/2004, 17h27
  5. touche pour accéder à une application : hook system?
    Par Fox_magic dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 22/01/2003, 00h02

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