Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.07.2012, 19:50
Аватар для A.N.R.I
Аспирант
Отправить личное сообщение для A.N.R.I Посмотреть профиль Найти все сообщения от A.N.R.I
 
Регистрация: 10.06.2009
Сообщений: 37

Изменение фона толького li на какое наведено
Если у ul.tree li:hover менять фон, то, например, если навести на 3 уровень, то и 2, и 1 уровень тоже фон поменяют. Как сделать, если наводишь на li 3 третьего уровня, то меняет фон лишь наведен li
<style>
ul.tree li {
	background:url(../img/left_menu.jpg) repeat-x;
}
</style>



<ul class="tree dynamized" style="display: block; "><li>
	<span class="grower CLOSE"> </span>
	<a href="" title="">1 level</a>
		<ul style=" ">
			<li>
				<a href="" title="">2 level </a>
			</li>						
																			
		</ul>
	</li>													
	<li>
		<span class="grower CLOSE"> </span>
		<a href="" title="">1 level</a>
		<ul style=" ">
			<li>
				<span class="grower OPEN"> </span>
				<a href="" title="">2 level</a>
				<ul style="display: block; ">
					<li>
						<a href="" class="selected" title="">3 level</a>
					</li>						
					<li class="last">
						<a href="" title="">3 level</a>
					</li>						
				</ul>
			</li>						
																	
		</ul>
	</li>						
</ul>
Ответить с цитированием
  #2 (permalink)  
Старый 09.07.2012, 20:01
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

можно использовать mouseover и mouseout
Ответить с цитированием
  #3 (permalink)  
Старый 09.07.2012, 21:44
Аватар для SkyLight
Злюка-бобер
Отправить личное сообщение для SkyLight Посмотреть профиль Найти все сообщения от SkyLight
 
Регистрация: 21.03.2010
Сообщений: 438

Оберните содержимое ваших li (только содержимое, без подменю) в какой-нибудь div и меняйте фон у него, т.е. li:hover div{background: red;}
__________________
In WEB We Trust
У всех есть своя темная сторона...
Ответить с цитированием
  #4 (permalink)  
Старый 09.07.2012, 21:47
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

A.N.R.I,
мон использовать указания на родсвенность
ul.tree > li:hover{
фон1
}
ul.tree > li > ul > li{
фон2
}
ul.tree > li > ul > li:hover{
фон3
}

Последний раз редактировалось Deff, 09.07.2012 в 21:50.
Ответить с цитированием
  #5 (permalink)  
Старый 09.07.2012, 21:47
Аватар для A.N.R.I
Аспирант
Отправить личное сообщение для A.N.R.I Посмотреть профиль Найти все сообщения от A.N.R.I
 
Регистрация: 10.06.2009
Сообщений: 37

Сообщение от vadim5june Посмотреть сообщение
можно использовать mouseover и mouseout
Сделал так:

$(' ul.tree li ').mouseover(function(){
			$(this).css("background","#333333");
		});
		$(' ul.tree li ').mouseout(function(){
			$(this).css("background","#f7f7f7");
		});

Все равно захватывает li, который не нужно трогать

Последний раз редактировалось A.N.R.I, 09.07.2012 в 21:54.
Ответить с цитированием
  #6 (permalink)  
Старый 09.07.2012, 21:49
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

A.N.R.I,
$(' ul.tree > li > ul> li ').mouseover(function(){
			$(this).css("background","#333333");
		});
		$(' ul.tree li ').mouseout(function(){
			$(this).css("background","#f7f7f7");
});


Или так:
$(' ul.tree li:not(.over) ').mouseover(function(){
                                  $(this).parents('li').addClass('over')
			$(this).css("background","#333333");
		});
                                  $(this).parents('li').removeClass('over')
		$(' ul.tree li ').mouseout(function(){
			$(this).css("background","#f7f7f7");
});

Последний раз редактировалось Deff, 09.07.2012 в 21:56.
Ответить с цитированием
  #7 (permalink)  
Старый 09.07.2012, 22:16
Аватар для A.N.R.I
Аспирант
Отправить личное сообщение для A.N.R.I Посмотреть профиль Найти все сообщения от A.N.R.I
 
Регистрация: 10.06.2009
Сообщений: 37

Сообщение от Deff Посмотреть сообщение
A.N.R.I,
$(' ul.tree > li > ul> li ').mouseover(function(){
			$(this).css("background","#333333");
		});
		$(' ul.tree li ').mouseout(function(){
			$(this).css("background","#f7f7f7");
});


Или так:
$(' ul.tree li:not(.over) ').mouseover(function(){
                                  $(this).parents('li').addClass('over')
			$(this).css("background","#333333");
		});
                                  $(this).parents('li').removeClass('over')
		$(' ul.tree li ').mouseout(function(){
			$(this).css("background","#f7f7f7");
});
Не, то ли я тупой, то ли лыжи не едут. Хоть убей. Или я неверно делаю или код не совсем робочий(
Ответить с цитированием
  #8 (permalink)  
Старый 09.07.2012, 23:01
Аватар для A.N.R.I
Аспирант
Отправить личное сообщение для A.N.R.I Посмотреть профиль Найти все сообщения от A.N.R.I
 
Регистрация: 10.06.2009
Сообщений: 37

Я еще думал, мужет когда наводишь, то у всех родителей заменить фон? Я сделал, но что-то не получается
$('div#categories_block_left ul.tree li').mouseover(function(){
			$(this).css("background","black");
			$(this).parent('li').css("background","gray");
		});
Ответить с цитированием
  #9 (permalink)  
Старый 09.07.2012, 23:06
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

A.N.R.I,
Так ?
<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>

<style type="text/css">
ul.tree li{
 background-color:#F7F7F7;
}
ul.tree li.over{
 background-color:#6CE26C;
}
ul.tree li:not(.over){
 background-color:#F7F7F7;
}
</style>


<script type="text/javascript">
$(document).ready(function(){

    $(" ul.tree li").mouseover(function(){
		if(!$(this).find('li.over').length){$(this).addClass('over')};
    }).mouseout(function(){
		$(this).removeClass('over');
    });

});
</script>


<ul class="tree dynamized" style="display: block; "><li>
	<span class="grower CLOSE"> </span>
	<a href="" title="">1 level</a>
		<ul style=" ">
			<li>
				<a href="" title="">2 level </a>
			</li>						
																			
		</ul>
	</li>													
	<li>
		<span class="grower CLOSE"> </span>
		<a href="" title="">1 level</a>
		<ul style=" ">
			<li>
				<span class="grower OPEN"> </span>
				<a href="" title="">2 level</a>
				<ul style="display: block; ">
					<li>
						<a href="" class="selected" title="">3 level</a>
					</li>						
					<li class="last">
						<a href="" title="">3 level</a>
					</li>						
				</ul>
			</li>						
																	
		</ul>
	</li>						
</ul>

Последний раз редактировалось Deff, 09.07.2012 в 23:21.
Ответить с цитированием
  #10 (permalink)  
Старый 09.07.2012, 23:16
Аватар для A.N.R.I
Аспирант
Отправить личное сообщение для A.N.R.I Посмотреть профиль Найти все сообщения от A.N.R.I
 
Регистрация: 10.06.2009
Сообщений: 37

Да, так. Очень большое спасибо
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение фона элемента при клике. psydo Элементы интерфейса 8 28.06.2012 23:53
изменение позиции фона одного div пока мышь находится на ссылке desir Javascript под браузер 3 05.02.2012 22:54
Динамическое изменение фона ячейки CyMKuH Элементы интерфейса 2 11.07.2011 15:19
изменение цвета фона alina Общие вопросы Javascript 1 27.12.2009 17:23