Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.06.2015, 10:44
Аватар для qwe88
Кандидат Javascript-наук
Отправить личное сообщение для qwe88 Посмотреть профиль Найти все сообщения от qwe88
 
Регистрация: 14.06.2014
Сообщений: 137

Таблица с ховерами столбцов
Добрый день!
Помогите, пожалуйста, разобраться.
Нужно сделать так, что бы подсвечивались столбцы от положения курсора. Почему получилось только у первой строки (при наведении на ячейки в первой строке, подсвечивается столбец, а в остальных ячейках других строк не работает).

<table id="tabstoid" class="tabstodir">
  <tr class="zelstdi">
    <td>&nbsp;</td>
    <td>от 1000</td>
    <td>от  3000</td>
    <td>от  5000</td>
    <td>от  10000</td>
  </tr>
  <tr>
    <td>E<span class="zelcifdi">65</span></td>
    <td>1,60</td>
    <td>1,40</td>
    <td>1,20</td>
    <td>1,00</td>
  </tr>
  <tr>
	  <td>C<span class="zelcifdi">6</span></td>
    <td>1,45</td>
    <td>1,25</td>
    <td>1,05</td>
    <td>0,85</td>
  </tr>
  <tr>
	  <td>C<span class="zelcifdi">65</span></td>
    <td>1,70</td>
    <td>1,50</td>
    <td>1,30</td>
    <td>1,10</td>
  </tr>
  <tr>
	  <td>C<span class="zelcifdi">5</span></td>
    <td>1,75</td>
    <td>1,55</td>
    <td>1,35</td>
    <td>1,15</td>
  </tr>
  <tr>
	  <td>C<span class="zelcifdi">4</span></td>
    <td>2,60</td>
    <td>2,40</td>
    <td>2,20</td>
    <td>2,00</td>
  </tr>
</table>

<script>

var tabastdire = document.getElementById("tabstoid").getElementsByTagName("td");
var tabastrire = document.getElementById("tabstoid").getElementsByTagName("tr");

for(i=0; i<=tabastdire.length; i++){
    function hovtd(i){
        tabastdire[i].onmouseover = function() {
            this.style.backgroundColor = "#CBFFDD";
            for(n=1; n<=tabastrire.length; n++){
                tabastrire[n].getElementsByTagName("td")[i].style.backgroundColor = "#000";
            }
        };

        tabastdire[i].onmouseout = function() {
            this.removeAttribute("style");
        };
    }

    hovtd(i);
}

</script>
Ответить с цитированием
  #2 (permalink)  
Старый 26.06.2015, 11:13
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

начните уже пользоваться поиском по форуму перед созданием темы Как выделить столбец в таблице, при наведении курсора на ячейку?
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #3 (permalink)  
Старый 26.06.2015, 11:17
Аватар для qwe88
Кандидат Javascript-наук
Отправить личное сообщение для qwe88 Посмотреть профиль Найти все сообщения от qwe88
 
Регистрация: 14.06.2014
Сообщений: 137

Спасибо)
Только хотелось бы без Jquery и самому написать. Почти все получилось, только возникла загвоздка
Ответить с цитированием
  #4 (permalink)  
Старый 26.06.2015, 11:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от qwe88
от положения курсора
весь столбец ? или до курсора или после курсора?
Ответить с цитированием
  #5 (permalink)  
Старый 26.06.2015, 11:21
Аватар для qwe88
Кандидат Javascript-наук
Отправить личное сообщение для qwe88 Посмотреть профиль Найти все сообщения от qwe88
 
Регистрация: 14.06.2014
Сообщений: 137

Весь
Ответить с цитированием
  #6 (permalink)  
Старый 26.06.2015, 11:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от qwe88
i<=tabastdire.length
зачем здесь знак = ?
Ответить с цитированием
  #7 (permalink)  
Старый 26.06.2015, 11:26
Аватар для qwe88
Кандидат Javascript-наук
Отправить личное сообщение для qwe88 Посмотреть профиль Найти все сообщения от qwe88
 
Регистрация: 14.06.2014
Сообщений: 137

Кто-то так делал, и я стал так делать)
Ответить с цитированием
  #8 (permalink)  
Старый 26.06.2015, 11:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

подсветка столбца таблицы без jquery
qwe88,
нет у вас элементов == length потому что индексы с нуля.
очередной вариант подсветки столбца таблицы
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
<table id="tabstoid" class="tabstodir">
  <tr class="zelstdi">
    <td>&nbsp;</td>
    <td>от 1000</td>
    <td>от  3000</td>
    <td>от  5000</td>
    <td>от  10000</td>
  </tr>
  <tr>
    <td>E<span class="zelcifdi">65</span></td>
    <td>1,60</td>
    <td>1,40</td>
    <td>1,20</td>
    <td>1,00</td>
  </tr>
  <tr>
	  <td>C<span class="zelcifdi">6</span></td>
    <td>1,45</td>
    <td>1,25</td>
    <td>1,05</td>
    <td>0,85</td>
  </tr>
  <tr>
	  <td>C<span class="zelcifdi">65</span></td>
    <td>1,70</td>
    <td>1,50</td>
    <td>1,30</td>
    <td>1,10</td>
  </tr>
  <tr>
	  <td>C<span class="zelcifdi">5</span></td>
    <td>1,75</td>
    <td>1,55</td>
    <td>1,35</td>
    <td>1,15</td>
  </tr>
  <tr>
	  <td>C<span class="zelcifdi">4</span></td>
    <td>2,60</td>
    <td>2,40</td>
    <td>2,20</td>
    <td>2,00</td>
  </tr>
</table>

<script>
var tabastdire = document.getElementById("tabstoid").getElementsByTagName("td");
arr = [];
[].forEach.call(tabastdire, function(cell, i) {
    var k = cell.cellIndex;
    arr[k] ? arr[k].push(cell) : (arr[k] = [cell]);
    cell.onmouseover = function() {
        arr[k].forEach(function(el) {
            el.style.backgroundColor = "#CBFFDD"
        })
        this.style.backgroundColor = "#00CC47"

    }
    cell.onmouseout = function() {
        arr[k].forEach(function(el) {
            el.style.backgroundColor = ""
        })
    }
})</script>

</body>

</html>

Последний раз редактировалось рони, 26.06.2015 в 11:55.
Ответить с цитированием
  #9 (permalink)  
Старый 26.06.2015, 11:54
Аватар для qwe88
Кандидат Javascript-наук
Отправить личное сообщение для qwe88 Посмотреть профиль Найти все сообщения от qwe88
 
Регистрация: 14.06.2014
Сообщений: 137

Супер!)
Спасибо огромное)
Сейчас буду разбираться, как вы это сделали)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт, форма, таблица. Обероныч Общие вопросы Javascript 9 28.10.2014 09:51
Таблица псевдографикой Vit (X)HTML/CSS 3 27.11.2012 09:03
jqgrid. таблица не отображается в Mozilla и Google Chrom skalka jQuery 0 19.07.2011 09:19
ширина столбцов таблицы после загрузки bis Events/DOM/Window 1 26.03.2010 18:35
Изменение цвета ячейки (динамическая таблица) не по событию ImSWORDMASTER Элементы интерфейса 3 12.03.2009 21:21