Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Раскрасить таблицу (https://javascript.ru/forum/misc/17791-raskrasit-tablicu.html)

Mark 02.06.2011 23:48

Раскрасить таблицу
 
Здравствуйте! Помогите со скриптом, надо раскрасить таблицу умножения в шахматном порядке.
Таблица есть, а вот раскрасить никак не получается.

function ftable(inum) { 
var iloop = 1; 
document.writeln ("<font color='#ffffff' size='10'>Таблица умножения</font><pre>"); 
while (iloop <= 10) { 
document.writeln(iloop + " <font color='#ffffff'>x</font> "+ inum + " <font color='#ffffff'>=</font> " + (iloop*inum)); 
iloop ++; 
} 
document.writeln("</pre>"); 
} 
ftable(prompt ("Показать таблицу умножения на: ", 5));

uniq 03.06.2011 14:00

if(iloop%2){
      // код для вывода в одной последовательности цветов
}else{
       // код для вывода в другой последовательности цветов
}


Либо делать с помощью CSS3 и таблицы:

table tr:nth-child(even) td:nth-child(odd) {background: #CCC}
table tr:nth-child(odd) td:nth-child(even) {background: #CCC}

будут закрашиваться ячейки в шахматном порядке.

nikita.mmf 05.06.2011 14:20

var table = document.getElementById("product_table");
var rows = table.getElementsByTagName("tr");
for ( var i = 0; rows[i]; i++ ) {
  var cells = rows[i].getElementsByTagName("td");
  for ( var j = 0; cells[j]; j++ ) {
    if ( (i + j) % 2 ) {
      cells[j].style.backgroundColor = "#CCC";
    }
  }
}

monolithed 05.06.2011 16:48

Mark, перед созданием темы поиском пользовались? ;)
<script type="text/javascript">
window.onload = function(){
    var tr = document.getElementById('table').getElementsByTagName('tr'), 
          i = tr.length;
    while(i--) {
        tr[i].style.backgroundColor = i%2 ? 'red' : 'green';
    }
};
</script>
<style>
td {
    border: 1px solid #FFF;
    width: 50px;
    height: 50px;
}
</style>
<table id="table">
    <tr><td>1</td><td>1</td><td>1</td></tr>
    <tr><td>2</td><td>2</td><td>2</td></tr>
    <tr><td>3</td><td>3</td><td>3</td></tr>
</table>

person 06.06.2011 06:42

Цитата:

Mark, перед созданием темы поиском пользовались?
monolithed, перед ответом вопрос читали?:lol:

monolithed, ну и где тут шахматное поле?

monolithed 06.06.2011 08:41

Цитата:

Сообщение от person
перед ответом вопрос читали?

обязательно
Цитата:

Сообщение от person
ну и где тут шахматное поле?

ой как сложно одну буковку поменять ;)
<script type="text/javascript">
window.onload = function(){
    var tr = document.getElementById('table').getElementsByTagName('td'), 
          i = tr.length;
    while(i--) {
        tr[i].style.backgroundColor = i%2 ? 'red' : 'green';
    }
};
</script>
<style>
td {
    border: 1px solid #FFF;
    width: 50px;
    height: 50px;
}
</style>
<table id="table">
    <tr><td>1</td><td>1</td><td>1</td></tr>
    <tr><td>2</td><td>2</td><td>2</td></tr>
    <tr><td>3</td><td>3</td><td>3</td></tr>
</table>

person 07.06.2011 14:43

monolithed, а потестить свой скрипт религия не позволяет или время?
Добавляем четвертую(четную!!!) ячейку, и любуемся вертикальными полосами, это проистекает из логики работы скрипта, лента, она и в Африке лента.
В строго определенных случаях, можно и так.

Ещё попытка будет? из прЫнцЫпа? :haha:

nikita.mmf 07.06.2011 15:14

person,
я вам уже написал решение

monolithed 07.06.2011 15:17

Цитата:

Сообщение от person
Ещё попытка будет? из прЫнцЫпа?

ну строчку добавить если четное количество столбцов четное parentNode.firstChild, что суть не изменит

TicTac 07.06.2011 22:53

мой лисапед:)


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