|
|
|
| Народ, плиз помогите чайнику составилть логику сценария для следующей задачи:
Имеется таблица с определенным набором строк (в каждой строке какое-то кол-во ячеек). Надо, чтобы автоматически, сама по себе подсвечивалась (менялся background) сначала первая строка, затем, спустя, допустим, 1000 мс, вторая, затем третья, а при достижении конца таблицы - вновь первая и так до бесконечности... | |
|
|
|
|
|
|
|
для: msl1912
(31.01.2009 в 15:09)
| | Можешь вот от этого оттолкнуться. Набросал на скорую руку.
<script type="text/javascript">
n = 0;
function paintTable(id){
id_ = id;
obj = document.getElementById(id_);
if(n == obj.rows.length) n = 0;
for(i = 0; i < obj.rows.length; i++){
if(i == n) obj.rows[i].style.background = "#FF0000"; else obj.rows[i].style.background = "#0000FF";
}
n++;
setTimeout('paintTable(id_);', 1000);
}
</script>
<table width="200" border="1" cellpadding="1" cellspacing="1" id="table_id">
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
<script type="text/javascript">
paintTable('table_id');
</script>
|
| |
|
|
|
|
|
|
|
для: mikha
(31.01.2009 в 16:37)
| | Спасибо!
Все работает, как и было задумано...
А мне посоветовали так:
<script>
function lightrow(el, len, cur) {
if(cur >= 0) el[cur].style.background = '#ffffff';
cur++;
if(cur >= len) { cur = 0; }
if(cur >= 0) el[cur].style.background = '#f76341';
setTimeout(function(){lightrow(el, len, cur)}, 3400);
}
var tr = document.getElementById('mytable').getElementsByTagName('tr');
var trl = tr.length;
if(trl > 1) lightrow(tr, trl, -1);
</script>
<table id="mytable">........................
|
Теперь встал вопрос, как сделать, чтобы этих строк была не одна, а три разным цветом и разным timeout-ом.... если писать три функции, получается косячно в месте перекрытия строк... Можешь посоветовать, как модифицировать твой или мой скрипт? | |
|
|
|