Скрытие и отображение блоков с одинаковым классом по клику
Есть страница на которой расположено n блоков. У блоков может быть m классов. Также есть m+1 ссылки (кнопки) при нажатии на которые скрываются все блоки кроме тех у которых класс совпадает с классом ссылки (кнопки) дополнительная (+1-я) ссылка (кнопка) при нажатии должна открывать все скрытые блоки.
Подскажите как реализовать такой скрипт? Примерная структура: <a href="" onclick="" class="classAll">ссылка</a> <a href="" onclick="" class="class1">ссылка</a> <a href="" onclick="" class="class2">ссылка</a> <a href="" onclick="" class="class3">ссылка</a> <div class="class1">...</div> <div class="class2">...</div> <div class="class3">...</div> <div class="class2">...</div> <div class="class3">...</div> <div class="class2">...</div> |
так?
<html><head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head><body>
<span class="classAll">ссылка All</span><br>
<span class="class1">ссылка 1</span><br>
<span class="class2">ссылка 2</span><br>
<span class="class3">ссылка 3</span><br>
<div class="class1">...1</div><br>
<div class="class2">...2</div><br>
<div class="class3">...3</div><br>
<div class="class2">...2</div><br>
<div class="class3">...3</div><br>
<div class="class1">...1</div>
<script>
$("span[class ^= 'class']").not(".classAll").click(function() {
$("div[class ^= 'class']").not("."+$(this).attr("class")).hide() ;
}) ;
$(".classAll").click(function() {
$("div[class ^= 'class']").show() ;
}) ;
</script>
</body></html>
Или так?
<html><head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head><body>
<span class="classAll">ссылка All</span><br>
<span class="class1">ссылка 1</span><br>
<span class="class2">ссылка 2</span><br>
<span class="class3">ссылка 3</span><br>
<div class="class1">...1</div><br>
<div class="class2">...2</div><br>
<div class="class3">...3</div><br>
<div class="class2">...2</div><br>
<div class="class3">...3</div><br>
<div class="class1">...1</div>
<script>
$("span[class ^= 'class']").not(".classAll").click(function() {
$("div[class ^= 'class']").hide() ;
$("div."+$(this).attr("class")).show() ;
}) ;
$(".classAll").click(function() {
$("div[class ^= 'class']").show() ;
}) ;
</script>
</body></html>
|
|
nerv_, спс :)
____________________________________ Подправил пред. пост |
| Часовой пояс GMT +3, время: 01:07. |