Просмотр полной версии : Раскрасить таблицу
Здравствуйте! Помогите со скриптом, надо раскрасить таблицу умножения в шахматном порядке.
Таблица есть, а вот раскрасить никак не получается.
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));
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').getElementsByTagN ame('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>
Mark, перед созданием темы поиском пользовались?
monolithed, перед ответом вопрос читали?:lol:
monolithed, ну и где тут шахматное поле?
monolithed
06.06.2011, 08:41
перед ответом вопрос читали?
обязательно
ну и где тут шахматное поле?
ой как сложно одну буковку поменять ;)
<script type="text/javascript">
window.onload = function(){
var tr = document.getElementById('table').getElementsByTagN ame('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>
monolithed, а потестить свой скрипт религия не позволяет или время?
Добавляем четвертую(четную!!!) ячейку, и любуемся вертикальными полосами, это проистекает из логики работы скрипта, лента, она и в Африке лента.
В строго определенных случаях, можно и так.
Ещё попытка будет? из прЫнцЫпа? :haha:
nikita.mmf
07.06.2011, 15:14
person,
я вам уже написал решение
monolithed
07.06.2011, 15:17
Ещё попытка будет? из прЫнцЫпа?
ну строчку добавить если четное количество столбцов четное parentNode.firstChild, что суть не изменит
мой лисапед (http://dl.dropbox.com/u/17626502/js/chessboard/index.html):)
nikita.mmf, спасибо, но я своих вариантов ещё в первый день накидал не один(очень похожих), а monolithed просто ошибку указал. Просто интересно, есть ли ещё более крутое решение, вот и слежу за темой, проверяю.
TicTac, коду много, имхо.
Если надо без скрипта, используем TD и TH, для небольших табличек пойдёт.
NoResponse
08.06.2011, 08:56
да не будет других скорее всего, только подобные
<script type="text/javascript">
window.onload = function(){
var tr = document.getElementById('table').getElementsByTagN ame('tr'),
i = tr.length;
while(i--) {
var td = tr[i].getElementsByTagName('td'),
j = td.length;
while(j--) {
td[j].style.backgroundColor = (i+j)%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><td>1</td><td>1</td><td>1</td></tr>
<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
</table>
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot