Partage
  • Partager sur Facebook
  • Partager sur Twitter

[HTML-JS] Texte aléatoire.

Sujet résolu
    28 mai 2017 à 21:59:08

    Bonjour, j'ai un problème avec une page de mon site. Le but de cette page est d'afficher un texte aléatoire. Le code que j'ai écrit est correcte, quand on appuie sur le bouton, sa affiche bien un texte aléatoirement entre les messages cités dans le head mais il peut y avoir des répétitions de textes, et j'aimerai qu'il y en ai pas. Comment pourrai-je faire pour qu'il n'y ai plus de répétitions de textes, s'il vous plait ?

    Le code actuel :

    <!DOCTYPE html>
    <html>
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
            <title>Titre</title>
            <script type="text/javascript">
                function getPhrase(){
                    var listePhrases = new Array(
                                                 "Message 1",
                                                 "Message 2",
                                                 "Message 3",
                                                 
                                                 );
                                                 
                                                 document.getElementById("textes").innerHTML = listePhrases[Math.floor(Math.random() * listePhrases.length)];
                }
            </script>
        </head>
        <body>
            <button style="font-size:20px ;font-family: GillSans" onclick="getPhrase()">Bouton</button>
            <div style="font-size:20px ;font-family: GillSans" id="textes"></div>
        </body>
    </html>
    



    • Partager sur Facebook
    • Partager sur Twitter
      28 mai 2017 à 23:21:15

      Bonjour,

      sujet déplacé vers le forum JavaScript :)

      (et pour ton problème, je pense que simplement stocker dans une variable la dernière phrase choisie et vérifier son contenu au moment de relancer le random pourrait suffire)

      -
      Edité par Lamecarlate 28 mai 2017 à 23:22:39

      • Partager sur Facebook
      • Partager sur Twitter

      Pas d'aide concernant le code par MP, le forum est là pour ça :)

        29 mai 2017 à 8:43:47

        tu pourrais essayer avec cette méthode
        <!DOCTYPE html>
        <html>
            <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
                <title>Titre</title>
                <script type="text/javascript">
                    var listePhrases = new Array(
               				"Message 1",
        					"Message 2",
        					"Message 3" );
                    
                    function getPhrase(){
        					if(listePhrases.length < 1){
        						document.getElementById("textes").innerHTML = 'plus de message';
        					}
        					else{
        						var text_al = listePhrases[Math.floor(Math.random() * listePhrases.length)];                                            
        	                    var pos = listePhrases.indexOf(text_al);
        	                    listePhrases.splice(pos,1); 
        	                    document.getElementById("textes").innerHTML = text_al;
        	                }
                    }
                </script>
            </head>
            <body>
                <button style="font-size:20px ;font-family: GillSans" onclick="getPhrase()">Bouton</button>
                <div style="font-size:20px ;font-family: GillSans" id="textes"></div>
            </body>
        </html>
        Tiens nous au courant

        • Partager sur Facebook
        • Partager sur Twitter
          29 mai 2017 à 20:05:55

          CedricDeMartin a écrit:

          tu pourrais essayer avec cette méthode

          <!DOCTYPE html>
          <html>
              <head>
              <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
                  <title>Titre</title>
                  <script type="text/javascript">
                      var listePhrases = new Array(
                 				"Message 1",
          					"Message 2",
          					"Message 3" );
                      
                      function getPhrase(){
          					if(listePhrases.length < 1){
          						document.getElementById("textes").innerHTML = 'plus de message';
          					}
          					else{
          						var text_al = listePhrases[Math.floor(Math.random() * listePhrases.length)];                                            
          	                    var pos = listePhrases.indexOf(text_al);
          	                    listePhrases.splice(pos,1); 
          	                    document.getElementById("textes").innerHTML = text_al;
          	                }
                      }
                  </script>
              </head>
              <body>
                  <button style="font-size:20px ;font-family: GillSans" onclick="getPhrase()">Bouton</button>
                  <div style="font-size:20px ;font-family: GillSans" id="textes"></div>
              </body>
          </html>

          Tiens nous au courant

          Bonjour, je te remercie de ta réponse, tu as résolu mon problème, merci :) !

          • Partager sur Facebook
          • Partager sur Twitter
            29 mai 2017 à 21:04:10

            si possible passe le post comme résolu

            merci à toi

            • Partager sur Facebook
            • Partager sur Twitter

            [HTML-JS] Texte aléatoire.

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown