Цикл для, который помнит предыдущий я - PullRequest
0 голосов
/ 08 ноября 2019

<!DOCTYPE html>
<html>
<head>
<style>
table, td {
  border: 1px solid black;
}
</style>
</head>
<body>

<p id="p">Click the button to insert new cell(s) at the beginning of the first table row.</p>

<div id="console" style="border-style: dashed;">
length: <input type="text" id="length">
color: <input type="color" id="color">
<br>
<button onclick="myFunction()">Try it</button>
</div> 

<br>
    
<div id="resultArea" style="border-style: dashed;">
<table id="myTable">
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>6</td>
    <td>7</td>
    <td>8</td>
    <td>9</td>
    <td>10</td>
    <td>11</td>
    <td>12</td>
  </tr>
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>6</td>
    <td>7</td>
    <td>8</td>
    <td>9</td>
    <td>10</td>
    <td>11</td>
    <td>12</td>
  </tr>
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>6</td>
    <td>7</td>
    <td>8</td>
    <td>9</td>
    <td>10</td>
    <td>11</td>
    <td>12</td>
  </tr>
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>6</td>
    <td>7</td>
    <td>8</td>
    <td>9</td>
    <td>10</td>
    <td>11</td>
    <td>12</td>
  </tr>
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>6</td>
    <td>7</td>
    <td>8</td>
    <td>9</td>
    <td>10</td>
    <td>11</td>
    <td>12</td>
  </tr>
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>6</td>
    <td>7</td>
    <td>8</td>
    <td>9</td>
    <td>10</td>
    <td>11</td>
    <td>12</td>
  </tr>
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>6</td>
    <td>7</td>
    <td>8</td>
    <td>9</td>
    <td>10</td>
    <td>11</td>
    <td>12</td>
  </tr>
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>6</td>
    <td>7</td>
    <td>8</td>
    <td>9</td>
    <td>10</td>
    <td>11</td>
    <td>12</td>
  </tr>
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>6</td>
    <td>7</td>
    <td>8</td>
    <td>9</td>
    <td>10</td>
    <td>11</td>
    <td>12</td>
  </tr>
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>6</td>
    <td>7</td>
    <td>8</td>
    <td>9</td>
    <td>10</td>
    <td>11</td>
    <td>12</td>
  </tr>
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>6</td>
    <td>7</td>
    <td>8</td>
    <td>9</td>
    <td>10</td>
    <td>11</td>
    <td>12</td>
  </tr>
  
</table>
</div>
    <br>



<script>
//constant variables
var x = 0;
var y = 0;
var cursor = 0;

function myFunction() {
var cursorInstant = cursor;
    for(var i=cursorInstant; i<(document.getElementById("length").value+cursorInstant); i++){

        
        
        
        x = Math.floor(i/12);
        y = i%12;
        document.getElementById("myTable").rows[x].cells[y].style.backgroundColor =  document.getElementById("color").value;
        cursor = i+1;
        
    }
}
</script>
</body>
</html>

Итак, есть номер, который я ввожу, и есть цикл for

Что мне нужно, так это: когда Number = 3, для циклов циклаот 0-2. Другой ввод числа = 4, для циклов цикла от 3 до 6. Другой ввод числа = 10, для циклов цикла от 7-16.

Мое решение состоит в том, что у меня есть константа (скажем, A) для оператора циклабудет что-то вроде

for(i=A; i< Number + A< i++){...}

И внутри цикла A будет увеличиваться в некоторой точке.

, но по какой-то причине мой цикл зацикливается от A до 10 раз (Number + A) Iне понимаю

1 Ответ

0 голосов
/ 08 ноября 2019
for(i=A; i< Number + A; i++)
{
   ...
}
A = A + Number

Если вы измените значение переменной Number внутри цикла, коэффициент (Number + A) будет увеличиваться каждый раз, иногда он может быть бесконечным

...