[英]Setting height of surrounding DIV after inner DIV is expanded/collapsed
我有一个简单的手风琴。 我想做的是,例如,当单击内容中的某个项目(如何联系我们)时,隐藏的后续文本将被扩展。 展开后,将计算content
DIV的新高度。 然后将此新计算的content
DIV高度分配给.wrapper
的高度。 然后,红色包装纸应包围整个包装盒。
请参阅小提琴: http : //jsfiddle.net/oampz/jLQf4/1/
HTML:
<div class="wrapper">
<ul class="panel">
<li>
<div class="heading"> <a>Menu 1</a>
</div>
<div class="content">
<ul>
<h2>Top Ten Questions</h2>
<li>
<a href="">How to reach us</a>
<p class="hide">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
</li>
<li>
<a href="">How to email us</a>
<p class="hide">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
</li>
<li>
<a href="">Contact Number</a>
<p class="hide">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p>
</li>
</ul>
</div>
</li>
</ul>
</div>
CSS:
.heading {
color: white;
font-weight: bold;
padding: 15px 0 15px 20px;
background: grey;
}
.content {
background: #99CCFF;
position: absolute;
}
.hide {
display: none;
}
.wrapper {
background: #FFD1E0;
position: relative;
}
jQuery的:
$(".content ul li a").click(function () {
var $this = $(this);
$this.next(".content ul li a").show(400);
$this.parent().siblings().children().next().hide();
return false;
});
UPDATE ** * ** * ** * ** * ** * ** * ** * ** * ** * ****
.onClick之后,将是:
$(".wrappper").css({'height':($(".content").height()+'px')});
工作?
UPDATE ** * ** * ** * ** * ** * ** * ** * ** * ** * ****
更新的小提琴: http : //jsfiddle.net/oampz/jLQf4/9/
如果我正确理解了您的问题,那么这可能会有所帮助:
您的content
div没有指定的宽度,因此它会自动换行其中的任何内容,当您显示文本时,它会比最初延伸得更远。
编辑 -我认为可能会有更简单的方法来解决您要完成的任务。 我认为,与其使用JS动态更新.wrapper
从.content
删除position: absolute
会更容易。 一些填充似乎使它看起来相同。
CSS:
.content {
width: 280px;
background: #99CCFF;
padding: 10px 0;
//position:absolute;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.