Перейти к содержимому


× Быстрый вопрос
Пользователь месяца
ShowPrint ShowPrint 1-й за Март
Очков активности: 1 152 1 тема, 61 сообщение, 12 баллов репутации
Сайт: ShowPrint.ru
ТОП самых активных за этот месяц
  • Фотография Андрей WPMasterKZ
    #1

    Андрей WPMasterKZ (wpmaster.kz)
    Очков активности: 1008 Вне конкурса за определение пользователя месяца

  • Фотография OlgaGetman
    #2

    OlgaGetman
    Очков активности: 564 Вне конкурса за определение пользователя месяца

  • Фотография Vmir
    #3

    Vmir
    Очков активности: 528 4 темы, 32 сообщения, 8 баллов репутации

  • Фотография Mandarin
    #4

    Mandarin
    Очков активности: 306 10 тем, 21 сообщение, 4 балла репутации

  • Фотография ShowPrint
    #5

    ShowPrint (ShowPrint.ru)
    Очков активности: 204 Вне конкурса за определение пользователя месяца

  • Фотография maxnik
    #6

    maxnik (konovalovpavel.ru)
    Очков активности: 72 1 тема, 21 сообщение, 2 балла репутации

  • Фотография pozitron123
    #7

    pozitron123
    Очков активности: 67.5 3 темы, 6 сообщений, 3 балла репутации

  • Фотография Megoydagi
    #8

    Megoydagi (24ho.ru)
    Очков активности: 66 1 тема, 19 сообщений, 2 балла репутации

  • Фотография re-search
    #9

    re-search
    Очков активности: 49.5 7 тем, 12 сообщений, 1 балл репутации

  • Фотография Constantine
    #10

    Constantine
    Очков активности: 39 4 темы, 14 сообщений, 1 балл репутации

  • Показать весь ТОП 10
Поддержите форум! =)
Апдейты
  • Яндекс ИКС: 20.04.2019
  • Яндекс выдача: 24.04.2019
Топ 5 участников по репутации


Зебра В Таблице

#1 Banderas

Banderas
  • Неактивные
  • 1 168 сообщений
  • Репутация: 1
0

Отправлено 11 Декабрь 2011 - 09:39

Создал зебру, теперь хочу что бы при наведение менялся background.
Мой стиль замены бекграунда:
tr.zhover {
	background: #e5f3f9;
}
Сам код:
$(function() {
	$('body').css('background', 'white');
	$('#celebs tbody tr:even').css('background', '#e6e6fa');
	$('#celebs tbody tr:even').css('background', '#ffc0cb');
	$('#celebs tbody tr').hover(function() {
		$(this).toggleClass('zhover'); // при наведение присваиваю выбранной строке класс zhover
	});
});

В итоге меняют свой стиль только четные колонки (2, 4, 6, ...). В чем может быть проблема? Я подозреваю что просто мой стиль zhover что то перекрывает.

 

 

  • 0

I'm web-developer 

Magento one love!



#2 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 11 Декабрь 2011 - 11:27

Можно так:
<style type="text/css">
		.evenColor{
			background: #ffc0cb;
		}
		.zhover {
			background: #e5f3f9;
		}		
	</style>
<script type="text/javascript">
		$(document).ready(function(){
			$('body').css('background', 'white');
			$('#celebs tbody tr:even').addClass('evenColor');
			$('#celebs tbody tr').hover(function() {
				$(this).toggleClass('zhover'); // при наведение присваиваю выбранной строке класс zhover
			});
		});
	</script>

  • 0


#3 Banderas

Banderas
    Topic Starter
  • Неактивные
  • 1 168 сообщений
  • Репутация: 1

Отправлено 11 Декабрь 2011 - 12:21

а почему в моем случае не работает?
  • 0

I'm web-developer 

Magento one love!



#4 Евгений

Евгений
  • Неактивные
  • 481 сообщений
  • Репутация: 0

Отправлено 11 Декабрь 2011 - 13:04

tr:hover {background:#цвет}
такое не работает с jquery?
  • 0

#5 yury

yury
  • Пользователь
  • 647 сообщений
  • Репутация: 192

Отправлено 11 Декабрь 2011 - 20:01

Такое работает независимо от того, используется jquery или нет .
Но не работает в IE6, который понимает псевдокласс hover только для ссылок. :)


  • 0

#6 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 11 Декабрь 2011 - 22:46

а почему в моем случае не работает?

Я так понимаю из-за системы приоритетности CSS. То бишь, указав правило для нечетных строк таким образом:
$('#celebs tbody tr:even').css('background', '#ffc0cb');
Это все равно, что указать стиль элементу непосредственно в разметке:
<tr style="background:#ffc0cb">

Данное правило имеет гораздо больший приоритет, чем правило класса, соответственно, остается цвет правила с бОльшим приоритетом.
Для примера, можно смоделировать такую безумную ситуацию ;)
#child{color: green;}
		.child{color:blue;}
		#parent p{color:red;}
		#parent p.child{color:yellow;}
		#parent p#child{color:gray;}
<div id="parent">
<p id="child" class="child" style="color:#9200D7">Text</p>
</div>

Все цвета прописаны для одного элемента, но будет применено правило с наибольшим приоритетом (указанное напрямую) - style="color:#9200D7"
Именно поэтому для правильной работы лучше задавать класс и его затем же менять на другой класс.
  • 0



Оформление форума – IPBSkins.ru