Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Кэширование css определенного DOM элемента. (https://javascript.ru/forum/jquery/4904-kehshirovanie-css-opredelennogo-dom-ehlementa.html)

Beck 28.08.2009 20:10

Кэширование css определенного DOM элемента.
 
Как такое реализовать и вообще возможно ли?

Хочу сделать так:

- первой функцией hover, чтобы в переменную добавился текущий цвет фона и поменялся на новый фон

- второй функцией убирался новый фон и ставился предыдущий из переменной

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

Заранее спасибо!

Octane 28.08.2009 20:15

И в чем проблема, не можете запомнить значения в переменной?

Beck 28.08.2009 20:25

Как это значение достать сначал? :)

$(this).find('td').css("background-color", ????);

Beck 28.08.2009 20:29

Сам ответил на свой вопрос. :D

var prev_color = $(this).find('td').css("background-color");


проверил через console.log();

Все выдает.

Вопрос исчерпан. :)

Beck 28.08.2009 20:40

Всетаки появилась другая проблема:

var tbody = tbs.find('tbody');
var tr = tbody.find('tr');
tr.hover(function(){
	var p_col = $(this).find('td').css("background-color");
	$(this).find('td').css("background-color","#D2DADA").css("cursor","pointer");
},function(){
	$(this).find('td').css("background-color", "" + p_col + "");
});


Пишет, что p_col не назначена, после того, как убираю курсор.
Я так понимаю, что содержимое переменной существует пока курсор на DOM элементе.

Есть предложения, как реализовать, чтобы работало? Дело в том, что у меня в таблице четные и не четные строки имеют свой цвет фона.

Octane 28.08.2009 21:36

у вас перменная p_col находится в другой области видимости.

Beck 28.08.2009 21:55

Цитата:

Сообщение от Octane (Сообщение 28738)
у вас перменная p_col находится в другой области видимости.

Не совсем вас понимаю.

Можно поподробнее.

Тут кстати плюсики можно ставить я смотрю. :victory: :D

Octane 28.08.2009 21:57

Область видимости


Часовой пояс GMT +3, время: 08:25.