不,这不是一个简单直接的切换问题。我知道toggle()函数以及如何简单地隐藏/显示div。想象一下,一个盒子内的标签:jQuery - 点击切换div类
<div class="section hidden">
<div class="section-legend">My Section</div>
</div>
当你点击整个DIV的任何地方,它应该删除hidden
类。该框然后看起来扩大。现在该框不属于hidden
类,它不应该是可点击的。
相反,当您单击div.section-legend
时,它应该再次将类hidden
添加到主div。很显然,图例的点击事件需要停止传播()。现在,传说不能再点击了,你必须再次点击整个div才能打开它。
我不能得到任何正常工作,而且我知道这是愚蠢的代码:
$(document).ready(function() {
$('.section.hidden').click(function() {
$(this).removeClass('hidden');
$(this).find('.section-legend').click(function(e) {
$(this).parent().addClass('hidden');
e.stopPropagation();
});
});
$('.section-legend').click(function(e) {
$(this).parent().addClass('hidden');
e.stopPropagation();
$(this).parent().click(function() {
$(this).removeClass('hidden');
});
});
});
人越来越慵懒总是想一个jsfiddle .. – Ben
是一个div.hidden仍然可见不知何故?我不知道它是如何意味着如果它真的“隐藏” – Ben
这不是真隐,'hidden'是类塌陷部分的只是名字是寂静的点击。还有一些其他代码意味着它更有意义,但在这里我可以看到它看起来很混乱。 – BadHorsie