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 :

Affichage aléatoire de 4 div


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de Erwan31
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2 177
    Par défaut Affichage aléatoire de 4 div
    Bonjour,
    je souhaiterais afficher 4 div aléatoirement (à chaque nouveau chargement de page) parmi 16 div.
    Y a-t-il une fonction JS qui puisse faire ça? Un tuto?

  2. #2
    Membre expérimenté
    Inscrit en
    Décembre 2009
    Messages
    282
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 282
    Par défaut
    ba ce serait plus cote serveur que tu fais ca, tu sélectionne tes 4 divs aléatoirement et tu les écrit sur l'output.

    Sinon en JavaScript, il faut que tu caches tous tes divs sauf les 4 que tu choisis aléatoirement... pas génial comme méthode je trouve ..

  3. #3
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"><head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
     
    <title>...</title>
     
     
    <style type="text/css">
     
    div.alea {
    	float:left;
    	width:40px;
    	height:40px;
    	font-weight:bold;
    	font-size:30px;
    	text-align:center;
    	border:1px solid;
    	background-color:red;
    }
     
    #cadre {
    	margin:100px;
    }
     
    </style>
     
     
     
    </head>
    <body>
     
    <div id="cadre"></div>
     
    <script type="text/javascript">
     
    var tab=[], tab2=[], h, d;
     
    for(j=0;j<16;j++){
    	tab[j]=j
    }
     
    for(i=0;i<4;i++){
     
    	h=Math.floor(Math.random()*tab.length);
    	tab2[i]=tab[h];
    	tab.splice(h,1)
    	d=document.createElement("div");
    	d.className="alea";
    	d.appendChild(document.createTextNode(tab2[i]));
    	document.getElementById("cadre").appendChild(d)
    }
     
     
     
     
    </script>
     
    </body>
    </html>

  4. #4
    Membre Expert Avatar de Erwan31
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2 177
    Par défaut
    Citation Envoyé par javatwister Voir le message
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"><head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
     
    <title>...</title>
     
     
    <style type="text/css">
     
    div.alea {
    	float:left;
    	width:40px;
    	height:40px;
    	font-weight:bold;
    	font-size:30px;
    	text-align:center;
    	border:1px solid;
    	background-color:red;
    }
     
    #cadre {
    	margin:100px;
    }
     
    </style>
     
     
     
    </head>
    <body>
     
    <div id="cadre"></div>
     
    <script type="text/javascript">
     
    var tab=[], tab2=[], h, d;
     
    for(j=0;j<16;j++){
    	tab[j]=j
    }
     
    for(i=0;i<4;i++){
     
    	h=Math.floor(Math.random()*tab.length);
    	tab2[i]=tab[h];
    	tab.splice(h,1)
    	d=document.createElement("div");
    	d.className="alea";
    	d.appendChild(document.createTextNode(tab2[i]));
    	document.getElementById("cadre").appendChild(d)
    }
     
     
     
     
    </script>
     
    </body>
    </html>

    Ok, merci c'est sympa mais ça ne fonctionne qu'avec des chiffre générés dynamiquement ici.
    Or il se trouve que j'ai 16 LI (te non pas div) chacun avec un contenu unique (image+ texte). C'est à quel niveau que je dois agir? (je suis novice en JS)


    PS: je ne peux faire ça qu'en JS et pas côté serveur.

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("cadre").getElementsByTagName("li")[tab2[i]].style.display="block";
    à la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    d=document.createElement("div");
    d.className="alea";
    d.appendChild(document.createTextNode(tab2[i]));
    document.getElementById("cadre").appendChild(d)
    sachant que tes li sont tous écrits en dur dans le cadre "cadre", avec un display:none;

  6. #6
    Membre Expert Avatar de Erwan31
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2 177
    Par défaut
    Merci mais ça n'affiche aucun li. J'ai mis le display:none dans une CSS externe mais a priori je pense pas que le problème vienne de là?

    J'ai essayé avec un autre code :
    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
    var randNum, boucle = 0;
     
    var listImgLength = $('#temoi li').length;
     
     
     
    while (boucle != 4) {
     
    	randNum = Math.floor ( Math.random ( ) * listImgLength + 1);
     
    	if ($('#temoi li').eq(randNum-1).css('display') == 'none' ) {
     
    		$('#temoi li').eq(randNum-1).show();
     
    		boucle++;
     
    	}
     
    }
    Mais ça marche pas non plus !

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

Discussions similaires

  1. Erreur pour l'affichage aléatoire d'une image
    Par bellebiquette dans le forum Langage
    Réponses: 3
    Dernier message: 21/04/2006, 22h45
  2. Affichage aléatoire
    Par wperle dans le forum Langage
    Réponses: 5
    Dernier message: 15/12/2005, 12h54
  3. Affichage aléatoire avec coéfficients
    Par groupejtt dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 08/11/2005, 22h09
  4. [Tableaux] Affichage aléatoire... ou presque !
    Par rafflow dans le forum Langage
    Réponses: 4
    Dernier message: 05/10/2005, 22h43
  5. [CSS] Affichage background d'un "<div> vide"
    Par laulaurent dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 06/09/2005, 22h59

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