Мой сайт

Меню сайта

Статистика


Онлайн всего: 3
Гостей: 3
Пользователей: 0
Главная » 2015 » Июль » 12 » Подсветка полей таблицы при наведении мыши
13:44
Подсветка полей таблицы при наведении мыши

Для больших таблиц удобно подсвечивать столбец и строку, на которой находится курсор.


Вся сложность заключается в производительности. Если таблица состоит из более 20 столбцов и около тысячи строк, обычные решения нахождения и подсветки на js нужных ячеек оказываются очень тормозными. 

Предлагаю довольно шустрое решение, но без js, к сожалению, не обойтись. Для подсветки строки, на которой находится курсор, используем css2:

tr:hover { background: #eee !important; }

IE6 подавится, ну и пусть! Обратный отсчет пошел. Если все-таки шестой осел греет душу, придется приделать экспрешн-костылик.

Чтобы подсветить столбец, нужно на js определить, на каком столбце находится курсор. Т.к. ячеек очень много, вешаем один обработчик mousemove на таблицу вместо mouseover у каждой ячейки:

$('table').mousemove(e) {

  ...

  var column_num = $(e.target).prevAll().size();

  ...

}

Осталось закрасить все ячейки столбца. Для этого при верстке таблицы, нужно добавить тэги col и задать ширину столбцам и самой таблице (намного ускорит рендеринг). Важно, чтобы количество тэгов col совпадало с количеством столбцов. Закрашивая тэг col, закрашивается весь столбец:

$('table').find('col:eq('+column_num+')').addClass('column-hover');

 



mitka.bloger.by
Просмотров: 94 | Добавил: morefounks | Рейтинг: 0.0/0
Всего комментариев: 0

Вход на сайт

Поиск

Календарь

«  Июль 2015  »
Пн Вт Ср Чт Пт Сб Вс
  12345
6789101112
13141516171819
20212223242526
2728293031