|
|
|
|
|
для: vinni_13
(21.07.2006 в 13:07)
| | Большое спасибо, уже разобрался =) | |
|
|
|
|
|
|
|
для: Vinni_13
(21.07.2006 в 14:47)
| | Вот рабочий вариант:
<html>
<head>
<style>
td.mytd0 {background-color:#808080}
td.mytd1 {background-color:#000000}
td.mytd2 {background-color:#400000}
td.mytd3 {background-color:#800000}
td.mytd4 {background-color:#bf0000}
td.mytd5 {background-color:#ff0000}
</style>
<SCRIPT LANGUAGE="javascript">
var a = ["mytd1","mytd2","mytd3","mytd4","mytd5"];
i=0;
function f()
{
var h = document.getElementById('myTD');
if (i<5){h.className = a[i]; i++;} else{return;}
setTimeout('f()',100);
}
</SCRIPT>
</head>
<body>
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#000000">
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td height="250" width="500">
<table height="100%" width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="mytd0" id="myTD"></td>
<td class="mytd0"> </td>
<td class="mytd0"> </td>
<td class="mytd0"> </td>
<td class="mytd0"> </td>
</tr>
<tr>
<td class="mytd0"> </td>
<td class="mytd0"> </td>
<td class="mytd0"> </td>
<td class="mytd0"> </td>
<td class="mytd0"> </td>
</tr>
</table></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
<SCRIPT LANGUAGE="javascript">f()</SCRIPT>
</body>
</html>
|
Уж не знаю как вы выяснили, что this ссылается именно на td,
но в любом случае до полной загрузки таблицы с ней лучше не работать. | |
|
|
|
|
|
|
|
для: 12345
(21.07.2006 в 14:20)
| | опытным путем я выяснил что:
1 - this это текущий объект, в данном случае <td>
2 - onLoad в теге <td> неработает
PS: не бейте меня сильно, если я не прав... | |
|
|
|
|
|
|
|
для: Vinni_13
(21.07.2006 в 14:06)
| | Ну скрипт написан неверно, точнее вообще не написан, я же говорил.
А вешать надо на onload, судя по постановке | |
|
|
|
|
|
|
|
для: 12345
(21.07.2006 в 13:21)
| | когда вешаю на событие, например на onMouseOver, то сработывает на половину, возникают проблемы с таймером | |
|
|
|
|
|
|
|
для: vinni_13
(21.07.2006 в 13:07)
| | А ошибки браузер не выдаёт? break; должен быть внутри цикла.
Когда пишете SCRIPT LANGUAGE="javascript">f(this);</SCRIPT>, this будет, очевидно, window со всеми последствиями.
Можно тут, конечно, цикл по onload, но есть способ проще - написать в самом конце <style> со сменой цвета. | |
|
|
|
|
|
|
| немогу понять почему не срабатывает скрипт. Идея такая: когда страница загрузилась, нужно что бы цвет некоторой ячейки изменился от черного к красному через промежуточные цвета. Может кто подскажет как реализовать лучше всего?
<head>
<style>
td.mytd0 {background-color:#808080}
td.mytd1 {background-color:#000000}
td.mytd2 {background-color:#400000}
td.mytd3 {background-color:#800000}
td.mytd4 {background-color:#bf0000}
td.mytd5 {background-color:#ff0000}
</style>
</head>
<body>
<SCRIPT LANGUAGE="javascript">
var a = ["mytd1","mytd2","mytd3","mytd4","mytd5"];
i=0;
function f(h)
{
if (i<5){h.className = a[i]; i++;} else{ break;}
setTimeout(f(h),100);
}
</SCRIPT>
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#000000">
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td height="250" width="500">
<table height="100%" width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="mytd0"><SCRIPT LANGUAGE="javascript">f(this);</SCRIPT></td>
<td class="mytd0"> </td>
<td class="mytd0"> </td>
<td class="mytd0"> </td>
<td class="mytd0"> </td>
</tr>
<tr>
<td class="mytd0"> </td>
<td class="mytd0"> </td>
<td class="mytd0"> </td>
<td class="mytd0"> </td>
<td class="mytd0"> </td>
</tr>
</table></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
</body>
</html>
|
| |
|
|
|
|