Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.02.2020, 13:05
Новичок на форуме
Отправить личное сообщение для andrey44 Посмотреть профиль Найти все сообщения от andrey44
 
Регистрация: 19.01.2020
Сообщений: 4

Не могу создать нужное количество объектов с помощью цикла while
Столкнулся с такой проблемой, что не могу создать нужное количество жизней с помощью цикла while. Выдаёт ошибку (превышен максимальный размер стека вызовов). Менял код много раз, но безрезультатно. Буду очень благодарен любой помощи.

// код html: <div id="lifes"><span></span><span></span><span></span></div>
 
// функция создания жизней
function createLifes() {
  // создаём блок div
  var lifes = document.createElement("div");
 
  // добавляем тегу div => id="lifes"
  lifes.id = "lifes";
 
  // в lifesNum добавляем тег span
  var lifesNum = document.createElement("span");
 
  // текущее количество жизней
  var lifesCurrentNum = 0;
 
  // количество жизней, которое я хочу сделать
  lifesNum = 3;
 
  while(lifesCurrentNum < lifesNum) {
    createLifes();
    lifesCurrentNum++;
  };
 
  lifes.style.display = "block";
 
  // добавляем в тег div тег span
  lifes.appendChild(lifesNum);
 // добавляем элемент жизни в игровое поле <div id="igra"></div>
  igraPole.appendChild(lifes);
}
Ответить с цитированием
  #2 (permalink)  
Старый 02.02.2020, 13:58
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,280

function createLifes() {
    createLifes();
}
createLifes();

var stack = 0;
function createLifes() {
    stack++;
    createLifes();
}

try {
    createLifes();
} catch(error) {
    console.error(error.message, stack);
}

Последний раз редактировалось Rise, 02.02.2020 в 14:31.
Ответить с цитированием
  #3 (permalink)  
Старый 02.02.2020, 14:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 27,838

andrey44,
<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  div{
      counter-reset: n 0;
  }

  span:after{
      counter-increment: n 1;
      content: "span" counter(n);
  }

  </style>
</head>
<body>
<div id="igraPole"></div>
<script>
// код html: <div id="lifes"><span></span><span></span><span></span></div>
// функция создания жизней
function createLifes() {
  // создаём блок div
  var lifes = document.createElement("div");
  // добавляем тегу div => id="lifes"
  lifes.id = "lifes";
  // текущее количество жизней
  var lifesCurrentNum = 0;
  // количество жизней, которое я хочу сделать
  var lifesNum = 3;
  while(lifesCurrentNum < lifesNum) {
    // в lifesNum добавляем тег span
    var span = document.createElement("span");
    // добавляем в тег div тег span
    lifes.appendChild(span);
    lifesCurrentNum++;
  };
 // lifes.style.display = "block";
 // добавляем элемент жизни в игровое поле <div id="igra"></div>
  igraPole.appendChild(lifes);
}
createLifes()
  </script>
</body>
</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При решении задачи возникла проблема. Не могу создать цепочку вызовов в консоле. Piterom Общие вопросы Javascript 3 25.07.2019 22:16
создать многоуровневый массив с помощью each mortido Общие вопросы Javascript 3 23.06.2019 11:12
как создать фильтр с помощью checkbox Баур Общие вопросы Javascript 1 03.07.2016 14:05
Вывести таблицу с числами с помощью цикла While VicRul Общие вопросы Javascript 1 19.08.2014 09:58
Не могу создать вложенный DIV для отступа-не учитывается padding/margin род. элемента xintrea (X)HTML/CSS 8 24.09.2012 15:58