Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   нужна помощь в создание таблицы (https://javascript.ru/forum/misc/38189-nuzhna-pomoshh-v-sozdanie-tablicy.html)

nikolaimv 23.05.2013 00:47

нужна помощь в создание таблицы
 
var color = ["","red","green","blue","orange"];
var len = color.length-1;
var a = 0;
while(a<=len){
document.write(color[a]+"<br>");
a++;
}

в таблице с левой стороны должно быть название цвета,а с правой сам цвет! Подскажите пожалуйста как это сделать правильно!!!

рони 23.05.2013 01:49

nikolaimv,
:cray:
<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
td{
  width: 70px;
  border-top-left-radius:60px 90px;
  border-bottom-right-radius:60px 90px;
  border: 1px solid #000000;
  text-align: center;
}
</style>
  <title>Untitled</title><meta charset="utf-8" />
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<script>
var color = ["red","green","blue","orange"];
var mytable = $('<table/>');
$.each(color,function( i, myData ) {
    $(mytable).append(
        $('<tr/>').append(
            $('<td/>',{text:myData, css : {'color':myData}}),
            $('<td/>',{css:{ 'background':myData}})
                    )
    );
});
$('body').append(mytable);
</script>
</body>
</html>

nikolaimv 23.05.2013 02:42

не то,мы начали только недавно javascript и проходим циклы..... Но и за это спасибо!

ruslan_mart 23.05.2013 03:06

<table cellspacing="0" cellpadding="0" width="200px" id="colors">
</table>

var colors = ['red', 'green', 'blue', 'orange', 'black'], tds = '';
for(i=0; i<colors.length; i++) tds += '<tr><td>'+colors[i]+'</td><td width="100px" bgcolor="'+colors[i]+'"></td></tr>';
document.getElementById('colors').innerHTML = '<tbody>'+tds+'</tbody>';

ed-210 23.05.2013 03:08

Да уж, на жыквери какой-то бред реально получился :( Вы что все забыли нэйтив JavaScript? Вот так надо:
var colors = ['red','green','blue', 'black', 'white'];
var d = document;
d.write('<table border="1">');
for (var i=0; i < colors.length; i++){
	d.write('<tr><td>'+ colors[i] +'<\/td><td style="background:'+ colors[i] +';">ЦВЕТ<\/td><\/tr>')
}
d.write('<\/table>');

ed-210 23.05.2013 03:14

Цитата:

Сообщение от Ruslan_xDD (Сообщение 252243)
document.getElementById('colors').innerHTML

Обычно, когда народ учит циклы, они не знают еще о document.getElementById() :)

nikolaimv 23.05.2013 03:24

большое спасибо ребята!!!!!!!:dance:

nikolaimv 23.05.2013 03:25

и for тоже не знаем

nikolaimv 23.05.2013 03:27

у нас только второе занятие было!!! и до сих пор ни как не могу вникнуть что куда и за чем....

nikolaimv 23.05.2013 03:29

скачал даже уроки Попова. сижу ковыряюсь..... весь нэт перерыл а за таблицу такую ни слова...

ed-210 23.05.2013 03:36

Окей, удачки! :) Без массива colors и цикла for или while это будет ужасно выглядеть и не интересно работать :)

nikolaimv 23.05.2013 03:46

не подскажите какую литературу можно почитать чтоб углубиться в явускрипт?

ed-210 23.05.2013 03:59

Вот есть же раздел на сайте http://learn.javascript.ru/books и вот http://www.ozon.ru/context/detail/id/3881091/ относительно неплохой учебник, специально для "углубления" в JavaScript :)

nikolaimv 23.05.2013 13:09

разобрался ура!!!!!:dance:
вот как должно выглядеть:

var colors = ["red","green","blue", "black", "white","yellow","navy"];
var a=0;
document.write('<table border="1">');
while ( a < colors.length){
document.write('<tr><td width="60">'+ colors[a] +'</td><td width="200" style="background:'+ colors[a] +';"></td></tr>')
a++;
}
document.write('</table>');

ed-210 23.05.2013 13:42

Ну это, как бы, не плохо выглядит, но есть просто 1 момент, связанный с выбором while вида конструкции цикла.

Просто в JavaScript есть, насколько мне известно, 3 основных вида конструкций циклов: while, do ... while и for, из которых каждый заточен под определенную логику работы.

Так вот, цикл while изначально удобен для выполнения 0 или бесконечно неограниченное количество итераций, хотя и должен рано ли поздно прерываться каким-либо доступным образом: либо состоянием false значения в скобках (), либо инструкцией break или continue внутри {}.

Цикл do ... while изначально удобен для выполнения 1 или бесконечно неограниченное количество итераций, где все остальное можно взять из написанного про цикл while...

А вот, цикл for изначально удобен для отрабатывания от 1 и до четко известного X количества раз, не больше и не меньше хотя остается возможность досрочно прервать и завершить текущую итерацию с помощью инструкций break или continue, поместив их внутрь {} конструкции for. Цикл заканчивает свою работу по состоянию false значения или выражения, которое должно стоять на 2-м месте после ; внутри () цикла, т.е. for('что-то, что надо сделать перед началом цикла'; 'значение или выражение интерпретируемое как true или false'; 'что-то, что надо сделать последним в конце любой итерации цикла').
Таким образом, удобнее и логичнее использовать конструкцию for(var a=0; a < colors.length; a++){} чем: var a=0;while(a < colors.length){... a++;}, хотя, в целом, обе такие конструкции и работают в данном случае одинаково.

Вот как-то так вот :)

рони 23.05.2013 15:22

Цитата:

Сообщение от ed-210
Вы что все забыли нэйтив JavaScript?

:write:
insertRow()/deleteRow(), insertCell()/deleteCell

nikolaimv 23.05.2013 22:13

просто цикл for мы еще не проходили.....

ksa 24.05.2013 09:41

Цитата:

Сообщение от nikolaimv
не подскажите какую литературу можно почитать чтоб углубиться в явускрипт?

Для первого погружения самое то!



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