Присвоить разные class элементу li, какаие есть способы?
Доброго времени суток.
Есть вот такое, примерное, дерево элементов <ul> <li class="bg_link">link</li> <li class="bg_link">link</li> <li class="bg_link">link</li> <li class="bg_link">link</li> <li class="bg_link">link</li> <li class="bg_link">link</li> <li class="bg_link">link</li> </ul> and style
li{float:left;}
есть js
$(document).ready(function(){
$(".bg_link").hover(function(){
$( this ).addClass("active");
},function(){
$( this ).removeClass("active");
});
});
Как видно из выше приведенного кода все ссылки расположены горизонтально. У меня вопрос следующий: Как можно присвоить элементам li тем которые ближе к левому части экрана расположены один class, а к тем элементам li которые расположены правее другой class? Буду благодарен любой помощи. |
aleksandr8i,
а который по середине тому какой класс? |
Цитата:
|
aleksandr8i,
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
ul{
margin:0 auto;
width:350px;
}
li{
float:left;
width:50px;
list-style:none;
}
li:hover{
background:#00FF00;
}
li:nth-child(n +5):hover{
background:#FF3333;
}
</style>
</head>
<body> <ul>
<li class="bg_link">link</li>
<li class="bg_link">link</li>
<li class="bg_link">link</li>
<li class="bg_link">link</li>
<li class="bg_link">link</li>
<li class="bg_link">link</li>
<li class="bg_link">link</li>
</ul>
</body>
</html>
|
Цитата:
Но буду так же благодарен, если кто-то здесь приведет пример :) |
Цитата:
|
aleksandr8i,
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
ul{
margin:0 auto;
width:350px;
}
li{
float:left;
width:50px;
list-style:none;
}
.active{
background:#00FF00;
}
.super{
background:#FF3333;
}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
$(function(){
var li = $(".bg_link"), middle= li.length/2;
li.hover(function(){
var i = li.index(this);
$( this ).addClass(i < middle? "active" : "super");
},function(){
$( this ).removeClass("active super");
});
});
</script>
</head>
<body> <ul>
<li class="bg_link">link</li>
<li class="bg_link">link</li>
<li class="bg_link">link</li>
<li class="bg_link">link</li>
<li class="bg_link">link</li>
<li class="bg_link">link</li>
<li class="bg_link">link</li>
</ul>
</body>
</html>
|
рони, ты ли это? Непривычно как-то без a b c :)
К слову, len все же не совсем подходит. Лучше half, middle, center. |
danik.js,
ok -- лучше названия подсказывай чем матерится |
рони, спасибо еще раз, это как раз то что мне нужно было.
Но я упустил важный момент, при описании задачи в первом сообщении. Элементов li достаточно много поэтому они все не помещаются в одну линию горизонта и переходят во второй ряд, образуя 3 ряд и т.д Вот проблема которую наблюдаю: При наведении курсора на элементы li 1-го ряда присвоен class="active" у 2-го ряда элементов на половину class="active" и class="super" у 3-го ряда элементов class="super" |
| Часовой пояс GMT +3, время: 03:37. |