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 :

Avoir 5 div mais 1 seule qui charge de façon aléatoire


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 64
    Par défaut Avoir 5 div mais 1 seule qui charge de façon aléatoire
    Bonjours alors voilà j'ai 5 div avec des contenus differents comme ceci :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div>Contenu 1</div>
    <div>Contenu 2</div>
    <div>Contenu 3</div>
    <div>Contenu 4</div>
    <div>Contenu 5</div>
    Je voudrais qu'au chargement de la page il n'y en ai qu'une qui charge mais de façon aléatoire.
    Je pense qu'il faut utiliser un display:none avec un code javascript mais je n'ai rien trouvé nul part.
    Donc si vous aviez des idées, merci.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 64
    Par défaut
    Non avec les iframe ça ne vas pas en fait.
    J'ai essayé ceci mais ça ne fonctionne pas :

    http://jsfiddle.net/devinkoncar/RJMhT/1060/

  4. #4
    Membre très actif
    Inscrit en
    Janvier 2009
    Messages
    598
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 598
    Par défaut
    Mais pourquoi ce n'est pas plutôt un seul div avec un contenu aléatoire ?


    Sinon pour ton problème teste ça :

    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
    Function aleatoire()
    {
       N=Math.random(); // chiffre aléatoire entre 0 et 1.
       var alea=Math.round(N*3); // Multiplié par 4 et arrondi.
       // Sélectionne le Div aléatoirement.
       obj=document.getElementById("A").style.display="none";
       obj=document.getElementById("B").style.display="none";
       obj=document.getElementById("C").style.display="none";
       obj=document.getElementById("D").style.display="none";
     
       switch(alea)
       {
       case 0:obj=document.getElementById("A").style.display="block";
       case 1:obj=document.getElementById("B").style.display="block";
       case 2:obj=document.getElementById("C").style.display="block";
       case 3:obj=document.getElementById("D").style.display="block";
       }
    }
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <Body onload="aleatoire()">
     
    <div id="A"></div>
    <div id="B"></div>
    <div id="C"></div>
    <div id="D"></div>
     
    </body>


    Normalement on optimise en passant par le DOM en cherchant tous les noeuds etc mais j'ai pas voulu m’embêter, à toi d'optimiser si ça te dit

  5. #5
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 64
    Par défaut
    Mais pourquoi ce n'est pas plutôt un seul div avec un contenu aléatoire ?
    Oui bien sûr ça peut être ça aussi, le résultat et le même surtout si c'est plus facile à mettre en place.

    Merci je vais essayer ce que tu me propose

  6. #6
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    Oui enfin il y a moyen de faire plus simple
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    div {
        display:none;
    }

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var els = document.getElementsByTagName("div"), 
        r = Math.floor(els.length * Math.random());
     
    els[r].style.display="block";

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 20/09/2011, 15h39
  2. Deux progs équivalents mais un seul qui marche
    Par stokastik dans le forum SDL
    Réponses: 3
    Dernier message: 21/08/2006, 18h48
  3. moteur de recherche qui marche de façon aléatoire.
    Par sam01 dans le forum Requêtes
    Réponses: 3
    Dernier message: 12/06/2006, 16h09
  4. Réponses: 13
    Dernier message: 25/01/2005, 10h05
  5. Boutons Radios qui charge une page php différente
    Par nebule dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/11/2004, 15h25

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