09.07.2012, 19:50
|
|
Аспирант
|
|
Регистрация: 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>
|
|
09.07.2012, 20:01
|
|
Студент
|
|
Регистрация: 30.04.2012
Сообщений: 1,113
|
|
можно использовать mouseover и mouseout
|
|
09.07.2012, 21:44
|
|
Злюка-бобер
|
|
Регистрация: 21.03.2010
Сообщений: 438
|
|
Оберните содержимое ваших li (только содержимое, без подменю) в какой-нибудь div и меняйте фон у него, т.е. li:hover div{background: red;}
__________________
In WEB We Trust
У всех есть своя темная сторона...
|
|
09.07.2012, 21:47
|
без статуса
|
|
Регистрация: 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.
|
|
09.07.2012, 21:47
|
|
Аспирант
|
|
Регистрация: 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.
|
|
09.07.2012, 21:49
|
без статуса
|
|
Регистрация: 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.
|
|
09.07.2012, 22:16
|
|
Аспирант
|
|
Регистрация: 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");
});
|
Не, то ли я тупой, то ли лыжи не едут. Хоть убей. Или я неверно делаю или код не совсем робочий(
|
|
09.07.2012, 23:01
|
|
Аспирант
|
|
Регистрация: 10.06.2009
Сообщений: 37
|
|
Я еще думал, мужет когда наводишь, то у всех родителей заменить фон? Я сделал, но что-то не получается
$('div#categories_block_left ul.tree li').mouseover(function(){
$(this).css("background","black");
$(this).parent('li').css("background","gray");
});
|
|
09.07.2012, 23:06
|
без статуса
|
|
Регистрация: 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.
|
|
09.07.2012, 23:16
|
|
Аспирант
|
|
Регистрация: 10.06.2009
Сообщений: 37
|
|
Да, так. Очень большое спасибо
|
|
|
|