Forum Webscript.Ru
Программирование => JavaScript & JScript => Тема начата: Night_Wolf от 02 Августа 2007, 18:16:46
-
Здравствуйте, запутался совсем... Нужно подсвечивать ячейку, при наведении на нее курсора мыши. Количество строк в таблице заранее не известно.
Подскажите, чего не так копаю.
-
id — он на то и id, чтобы быть уникальным
надо делать id у таблицы, потом бегать по getElementsByTagName(\'tr\') и уже им присваивать события
-
Если прописать getElementsByTagName(\'tr\'), то туда попадут строки с других таблиц.
Но вопрос еще в том, как инициализировать функцию, которая бы изменяла фон ячеек?
-
Night_Wolf
Если переделывать этот вариант - то можно выбирать по ClassName.
Вот тут я решения приводил уже: http://forums.webscript.ru/showthread.php?s=&postid=150283#post150283
-
CGVictor, спасибо большущее! Направил на пусть истинный:) Думаю дальше сам разберусь!
-
Если прописать getElementsByTagName(\'tr\'), то туда попадут строки с других таблиц.
Ну, если делать document., тогда да.
А если сделать document.getElementById(\'element\').getElementsByTagName(\'tr\'), то будет все в шоколаде.
-
Эта задача уже многими была решена...
function zebraTable(id, c1, c2) {
lastColor = \'#FFFFFF\';
function tblColor(e) {
var e = window.event ? window.event : e;
var el1 = window.event ? window.event.srcElement : e.target;
var el = el1.parentNode;
if (el.tagName == \'TD\') {
el = el.parentNode;
}
var c = el.cells;
if (e.type == \'mouseover\') {
lasrColor = el.bgColor;
el.bgColor = c1;
for (var i = 0; i < c.length; i++) {
c[i].bgColor = c1;
}
} else {
if (c2 != \'\' && c2 != null) {
var setColor = c2;
} else {
var setColor = lasrColor;
}
el.bgColor = setColor;
for (var i = 0; i < c.length; i++) {
c[i].bgColor = setColor;
}
}
}
if (c1 == \'\') {
return false
}
var t = document.getElementById(id);
for (var i = 0; i < t.rows.length; i++) {
lastColor = t.rows[i].bgcolor;
list(t.rows[i], \'mouseover\', tblColor)
list(t.rows[i], \'mouseout\', tblColor)
}
}
function list(o, e, a) {
if (o.addEventListener) o.addEventListener(e, a, false);
else if (o.attachEvent) o.attachEvent("on" + e, a); else return null;
}
-
а просто прописать CSS стиль к таблице?
-
new_coder
IE понимает hover только для ссылок