Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 23.10.2009, 13:45
Аспирант
Отправить личное сообщение для mcpro Посмотреть профиль Найти все сообщения от mcpro
 
Регистрация: 07.10.2009
Сообщений: 30

не в номинации "это удобно, а никто не знает" я оваций точно не получу.
Ну тогда так (постараюсь не напутать ни чего)
Есть табличка, к ней подключен джикверевский модуль сортировки.
$("#myTable").tablesorter({
	    headers: { 
            3: { 
                sorter: false 
            }, 
            4: { 
                sorter: false 
            },
            6: { 
                sorter: false 
            }			
		}	
	});

все столбцы имеют стиль "header" по умолчанию. Когда же выбран какой либо столбец то к его стилю прибавляется "up" или "down". Я задумал сделать еще подмену фона при наведении мышки.
$('.mainTable th.header').hover(	
	  function () {
		$(this).css('background-color', '#8dbdd8');
	  },
	  function () {
		$(this).css('background-color', '#e6eeee');
	  }
	);

Все просто. Но есть одно НО. Когда столбец выбран для сортировки, то есть его класс "header up" или "header down" надо чтобы фон при наведении мыши на него НЕ менялся. То есть надо, чтобы вместо $('.mainTable th.header') выбирались только те элементы, у кот класс ТОЛЬКО header.
Вот )
$('a[class=header]') как то странно работает.
По умолчанию сортировка сделана по дате и при на ведении на ней мышки фон не меняется. Вроде все ок. Но если кликнуть на один из столбцов, то на новом столбце для сортировки по прежнему остается подмена фона.

Последний раз редактировалось mcpro, 26.08.2010 в 10:35.
Ответить с цитированием
  #12 (permalink)  
Старый 23.10.2009, 15:05
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

live?
Ответить с цитированием
  #13 (permalink)  
Старый 23.10.2009, 15:31
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Цитата:
То есть надо, чтобы вместо $('.mainTable th.header') выбирались только те элементы, у кот класс ТОЛЬКО header.
Ну Вы же знаете, какие классы могут быть на хидере?
$('.mainTable th.header:not(.up, .down)')
Ответить с цитированием
  #14 (permalink)  
Старый 23.10.2009, 16:34
Аспирант
Отправить личное сообщение для mcpro Посмотреть профиль Найти все сообщения от mcpro
 
Регистрация: 07.10.2009
Сообщений: 30

изменил код на
$('.mainTable th.header:not(.headerSortDown, .headerSortUp)').hover(    
      function () {
        $(this).css('background-color', '#8dbdd8');
      },
      function () {
        $(this).css('background-color', '#e6eeee');
      }
    );

но работает криво.
То есть при загрузки обработчик события только на элементы с классом header вешается. После того как одному из элементов добавляется класс headerSortDown, обработчик с него не убирается.

Последний раз редактировалось mcpro, 26.08.2010 в 10:36.
Ответить с цитированием
  #15 (permalink)  
Старый 23.10.2009, 18:51
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Логично, не находите?
Обработчик вешается не на некую абстрактную "динамическую коллекцию", а на вполне конкретный набор элементов.
Либо копайте в сторону live, либо как-то так:
$('.mainTable th.header').hover(    
    function () {
        $(this).not('.headerSortDown, .headerSortUp').css('background-color', '#8dbdd8');
    },
    function () {
        $(this).not('.headerSortDown, .headerSortUp').css('background-color', '#e6eeee');
    }
);
Ответить с цитированием
  #16 (permalink)  
Старый 23.10.2009, 20:06
Аспирант
Отправить личное сообщение для mcpro Посмотреть профиль Найти все сообщения от mcpro
 
Регистрация: 07.10.2009
Сообщений: 30

О ))) Спасибо. Получилось. Попробую теперь с Live разобраться.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите что за script? Ну очень уж красивый!!! mp.enter Общие вопросы Javascript 3 29.11.2009 17:02
Подскажите как сделать меню на CSS если: greatilya (X)HTML/CSS 10 18.10.2009 20:26
Подскажите, пжлст, как вывести в тот же документ результат ф-ции? LexXxeL Элементы интерфейса 4 13.05.2009 13:26
подскажите структуру осуществления задачи bobri4 jQuery 1 23.04.2009 18:26
Не подскажите, как убрать подчеркивание ссылки href? Forgott Общие вопросы Javascript 1 20.05.2008 11:47