Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вывести таблицу с числами с помощью цикла While (https://javascript.ru/forum/misc/49567-vyvesti-tablicu-s-chislami-s-pomoshhyu-cikla-while.html)

VicRul 19.08.2014 09:19

Вывести таблицу с числами с помощью цикла While
 
Здравствуйте.
Помогите разобраться. Изучаю циклы в JS, решил написать скрипты, которые выводят таблицу NxN, в ячейках которой результат умножение двух чисел. причем, 1 строка и 1 столбец должны быть красного цвета Настал черед вывеcти эту таблицу через цикл while и тут затык, не могу разобраться в чем причина. Смысл в том, что вместо N строк выводит только одну. Вот скрипт:
var red="#FF0000";
			var white="#FFFFFF";
			var color=white;
			var n=9;
			var i=1;
			var j=1;
			
			document.write("<table border=1>");
			while (i <= n){
				color=(i==1)?red:white;
				document.write('<tr bgcolor="'+color+'">');
				while(j <= n){
					if (i!=1){
						color=(j==1)?red:white;
					}	
					document.write('<td bgcolor="'+color+'">');
					document.write(i*j);
					document.write("</td>");
					j++;
				}
				document.write("</tr>");
				i++;
			}
			document.write("</table>");

Буду рад подсказкам и советам. Спасибо за внимание.

ksa 19.08.2014 09:52

Цитата:

Сообщение от VicRul
не могу разобраться в чем причина

Ты неправильно работаешь с переменной j... Ее "сбрасывать" нужно каждый раз, а не как у тебя.

ksa 19.08.2014 09:52

Цитата:

Сообщение от VicRul
1 строка и 1 столбец должны быть красного цвета

Для этого дела есть ЦСС...

ksa 19.08.2014 09:56

Как вариант...

<!DOCTYPE html>
<html>
<head>
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
tr:first-child,
td:first-child {
	background-color: #FF0000;
}
</style>
<script type='text/javascript'>
var n=9;
var i=1;
document.write("<table border=1>");
while (i <= n){
	document.write('<tr>');
	var j=1;
	while(j <= n){
		document.write('<td>');
		document.write(i*j);
		document.write("</td>");
		j++;
	}
	document.write("</tr>");
	i++;
}
document.write("</table>");
</script>
</head>
<body>
<div class='left_button'>left_button</div>
<div class='right_button'>right_button</div>
<button id='show'>show</button>
<button id='hide'>hide</button>
</body>
</html>


Часовой пояс GMT +3, время: 19:02.