|
|
|
| Добрый вечер!
Помогите пожалуйста по следующему вопросу. Есть функция javascript:
<script>
function colorMe(el)
{
var chkbox = el;
while(el.tagName != 'TR') { el = el.parentNode; }
var original_color = el.style.backgroundColor;
//alert(original_color);
if(chkbox.checked) {
el.style.backgroundColor= (el.bgColor==='#79B4F8' ? original_color : '#79B4F8');
el.onmouseover=null;
el.onmouseout=null;
}
else
{
el.style.backgroundColor=original_color;
el.onmouseover=el.style.backgroundColor='#FDF4DF';
el.onmouseout=el.style.backgroundColor='#FDF4DF';
}
}
</script>
|
И вывод из mysql записей в цикле:
while ($res_two = mssql_fetch_assoc($sql_two))
{
if($num % 2) $bgc="#FDF4DF";
else $bgc="#FDF4DF";
echo "<tr bgcolor=\"${bgc}\" onmouseover=\"this.style.backgroundColor='#dddddd';this.style.color='#000000';\"
onmouseout=\"this.style.backgroundColor='${bgc}';this.style.color='#000000';\">";
?>
<td><input type="checkbox" name='menu[]' value='<?php echo $sql_two['id'];?>' id='<?php echo $sql_two['id'];?>' onclick="colorMe(this)"/></td>
<?php
echo "<td>$res_two[name]</td>";
echo "</tr>";
}
$num++;
|
Проблема в то что функция работает, но после того как я сначала поставлю, а потом сниму checkbox, при наведении курсора на строку цвет ее не меняется т.е. значение цвета в событии onmouseover=\"this.style.backgroundColor='#dddddd'; после функции изменилось и не вернулось в исходное состояние? Подскажите как исправить недочет!
Заранее спасибо . | |
|
|
|
|
|
|
|
для: Front
(16.12.2008 в 18:26)
| | вместо назначения стилей джаваскриптом, лучше назначать классы | |
|
|
|
|
|
|
|
для: Front
(16.12.2008 в 18:26)
| | if($num % 2) $bgc="#FDF4DF";
else $bgc="#FDF4DF";
так и задумано? | |
|
|
|
|
|
|
|
для: sl1p
(16.12.2008 в 18:45)
| | Ведь чередование цветов в строках никогда не поздно добавить, пока это пробный скрипт! | |
|
|
|
|
|
|
|
для: Front
(16.12.2008 в 18:26)
| | el.onmouseover= function(){this.style.backgroundColor='#FDF4DF';} | |
|
|
|
|
|
|
|
для: AlexSol
(16.12.2008 в 19:59)
| | Вы могли бы пояснить? Function() - это что! | |
|
|
|
|
|
|
|
для: Front
(17.12.2008 в 09:08)
| | function(){} это определение функции
вы же вызываете по клику функцию onclick="colorMe(this)" , а onmouseover это такое же событие и по нему тоже стоит вызывать функцию | |
|
|
|
|
|
|
|
для: AlexSol
(17.12.2008 в 10:25)
| | Так а где ее вызывать, в inputе?
function backcolor(el)
{
var chkbox = el;
while(el.tagName != 'TR') { el = el.parentNode; }
el.style.backgroundColor='#FDF4DF';
}
<td><input type="checkbox" name='menu[]' value='<?php echo $sql_two['id'];?>' id='<?php echo $sql_two['id'];?>' onclick="colorMe(this)"/ onmouseover="backcolor(this)"></td>
|
| |
|
|
|
|
|
|
|
для: Front
(17.12.2008 в 10:56)
| | Никто не подскажет? | |
|
|
|