Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.03.2008, 13:50
Профессор
Отправить личное сообщение для SunYang Посмотреть профиль Найти все сообщения от SunYang
 
Регистрация: 22.02.2008
Сообщений: 189

background-color ячейки таблицы
Вроде должно как быть - при наведении мыши цвет фона меняется, а НЕТ!! Не работает. Подскажите пожалуйста что не так...

<table width="200" border="0" cellspacing="0" cellpadding="0" >
  <tr>
    <td id="one" onmouseover="color-change()" style="background-color:#FF9f00">Превед, Медведко </td>
  </tr>
  <tr>
</table>
<script>
function color-change () {
leon = event.srcElement.id
document.getElementByID(leon).style.backgroundColor = '#FF0000'
}
</script>

Последний раз редактировалось Андрей Параничев, 03.03.2009 в 21:37. Причина: Пользуйтесь bb-тегами [js] и [html] для оформления листингов кода в теле сообщения
Ответить с цитированием
  #2 (permalink)  
Старый 16.03.2008, 16:23
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Во-первых у вас написано onMouseOver="color минус результат функции change()". Кроме того, нет нужды лопатить DOM если функция при событии вызывается из элемента, с которым мы работаем.

<table width="200" border="0" cellspacing="0" cellpadding="0" >
<tr>
<td id="one" onmouseover="color_change(this)" style="background-color:#FF9f00">Превед, Медведко </td>
</tr>
<tr>
</table>
<script>
function color_change(elem) {
	elem.style.backgroundColor = '#FF0000';
}
</script>
Ответить с цитированием
  #3 (permalink)  
Старый 17.03.2008, 00:15
Профессор
Отправить личное сообщение для SunYang Посмотреть профиль Найти все сообщения от SunYang
 
Регистрация: 22.02.2008
Сообщений: 189

А this - это ссылка на текущий элемент?? Разобраться бы в этой объектности и методах блин. У меня учебник такой корявый....
Ответить с цитированием
  #4 (permalink)  
Старый 17.03.2008, 00:23
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Относительно onmouseover="color_change(this)" this - ссылка на объект элемента td. Прочитайте про this тут, там довольно доходчиво.
Ответить с цитированием
  #5 (permalink)  
Старый 17.12.2008, 10:41
Интересующийся
Отправить личное сообщение для PurtCer Посмотреть профиль Найти все сообщения от PurtCer
 
Регистрация: 17.12.2008
Сообщений: 15

Это конечно хорошо, а как быть если такая ячейка не одна? Прописать на каждую процедуру как-то не красиво будет. Подскажите пожалуйста как решить такую проблему.
Ответить с цитированием
  #6 (permalink)  
Старый 17.12.2008, 11:35
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

прописать обработчик на таблицу, а текущую ячейку брать из e.target||e.srcElement
Ответить с цитированием
  #7 (permalink)  
Старый 17.12.2008, 11:37
Интересующийся
Отправить личное сообщение для PurtCer Посмотреть профиль Найти все сообщения от PurtCer
 
Регистрация: 17.12.2008
Сообщений: 15

Все ясно, спасибо, буду пробовать.
Ответить с цитированием
  #8 (permalink)  
Старый 27.02.2009, 15:50
Интересующийся
Отправить личное сообщение для PurtCer Посмотреть профиль Найти все сообщения от PurtCer
 
Регистрация: 17.12.2008
Сообщений: 15

C ячейкой разобрался, но никак не пойму как сделать, что бы выделить строку целиком. Подскажите пожалуйста, кто знает.
Ответить с цитированием
  #9 (permalink)  
Старый 27.02.2009, 18:09
-
Отправить личное сообщение для twolf Посмотреть профиль Найти все сообщения от twolf
 
Регистрация: 16.07.2008
Сообщений: 207

выделить щелчком или при наведении чтоб выделялась цветом?
если второе то на строку можно просто поставить класс и в css написать:
.test_tr {background-color: #ccc}
.test_tr:hover {background-color: #ccc333}
Ответить с цитированием
  #10 (permalink)  
Старый 27.02.2009, 20:58
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

twolf,
Не будет работать в Internet Explorer, в котором псевдокласс hover может быть только для ссылок.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите вытащить из таблицы данные... MD6 Общие вопросы Javascript 1 07.10.2008 13:03
Электронные таблицы на JS gagagogo Элементы интерфейса 27 17.09.2008 22:07
Drag&Drop перетаскивание таблицы magistr_bender Элементы интерфейса 5 15.09.2008 15:33
Выезжание таблицы из под ниоткуда. lancer Элементы интерфейса 3 29.06.2008 15:03
background image, справочник igor1102828 Элементы интерфейса 2 23.03.2008 18:53