многострочный случайный текст с использованием js - PullRequest
0 голосов
/ 06 марта 2020

Я пытаюсь создать генератор случайных текстов , который создает более одной строки, но всегда идет по одной и той же строке на странице HTML (я уже пробовал \n, и это не так не работает).

Я тестировал его на chrome, но могу ли я получить какую-нибудь помощь, если возможно, даже сделать.

Вот код, который я использовал: ( живая демонстрация )

function rtg(maxChar, maxLines) {
var ranChar = "";
var count;
var alphabet = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r,s,t,u,v,w,x,y,z,1,2,3,4,56,7,8,9,0".split(",");

for (var i = 0; i < maxLines; i++) {
     var rand = null;
     for (var x = 0; x < maxChar; x++) {
         count++;
         rand = Math.floor(Math.random() * alphabet.length);
         ranChar += alphabet[rand];
         if (maxChar == count) {
          //this part i need help with
             ranChar += '\n'
             count = 0;
         }
      }
   }
}

Ответы [ 3 ]

2 голосов
/ 06 марта 2020

\n не распознается в HTML, если вы не используете свойство css white-space: pre-line (или не помещаете свой текст внутри тега Your Text Here. Другим способом (вероятно, предпочтительным) будет добавление '<br/>' вместо '\n', когда вы хотите go на следующую строку

0 голосов
/ 14 марта 2020

Здесь есть несколько ненужных переменных, поэтому я немного упростил ваш код. i и x - ваши значения, поэтому вам не нужна переменная count. Вам также следует использовать <br/> вместо \n, если вы помещаете его на HTML страницы.

function rtg(maxChar, maxLines) {
  var lines = "";
  for(var i = 0; i < maxLines; i++) {
    if(i > 0) lines += "<br/>";
    for (var x = 0; x < maxChar; x++) lines += rando("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnoprstuvwxyz1234567890");
  }
  return lines;
}

window.addEventListener("load", function(){
  document.getElementById("result").innerHTML = rtg(12, 5);
});
<script src="https://randojs.com/1.0.0.js"></script>
<div id="result"></div>

Этот код использует rando js .com для упрощения случайности, поэтому, если вы хотите использовать этот код, просто убедитесь, что вы Имейте это в заголовке вашего документа html:

<script src="https://randojs.com/1.0.0.js"></script>

В ответ на ваш комментарий:

, если вы хотите связать свой собственный внешний js файл Вы можете создать два файла в одном каталоге: 1 html файл и 1 js файл с именем «script. js». в файле HTML используйте его как HTML код:

<html>
    <head>
        <script src="https://randojs.com/1.0.0.js"></script>
        <script src="script.js"></script>
    </head>
    <body>
        <div id="result"></div>
    </body>
</html>

в скрипте. js файл, используйте это:

function rtg(maxChar, maxLines) {
  var lines = "";
  for(var i = 0; i < maxLines; i++) {
    if(i > 0) lines += "<br/>";
    for (var x = 0; x < maxChar; x++) lines += rando("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnoprstuvwxyz1234567890");
  }
  return lines;
}

window.addEventListener("load", function(){
  document.getElementById("result").innerHTML = rtg(12, 5);
});

Это было проверено и работает нормально.

0 голосов
/ 06 марта 2020

Вы можете добавить новую строку в строку с помощью "\ n"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...