【发布时间】:2014-02-19 21:40:37
【问题描述】:
我有 3 个 div 都属于同一类。每个 div 中都有一个 h3 和一个隐藏的 div,其中包含一个“内容”类。
如果在这些 div 中单击 h3,则会显示相应的“内容”div。
如果单击任何 h3 并且“内容”div 展开,则同级“示例”div 应该淡出到不透明度 0.5
当所有 'content' div 都关闭时,'example' div 不应淡出。
当所有“内容”div 都关闭时,我目前无法让“示例”div 不褪色。
CSS
.fade {opacity:0.5;}
.content {display:none;}
JS
$(function () {
$(".example .titlename").click(function () {
$(this).closest('.example').find('.content').slideToggle(500);
$(this).closest('.example').toggleClass('active').siblings().not('.active').css({ opacity: 0.5 });
$(this).closest('.example').not('.active').css({ opacity: 0.5 });
$(this).closest('.example.active').css({ opacity: 1.0 });
});
});
HTML
<div class="example">
<h3 class="titlename">Test titles 1</h3>
<div class="content">content1</div>
</div>
<div class="example">
<h3 class="titlename">Test titles 2</h3>
<div class="content">content2</div>
</div>
<div class="example">
<h3 class="titlename">Test titles 3</h3>
<div class="content">content3</div>
</div>
JSFiddle 在这里有示例代码:http://jsfiddle.net/Lgf4s/
感谢您的帮助!
【问题讨论】:
标签: jquery toggle each closest siblings