我有这个小脚本:
var $totalHeight;
$(document).ready(function() {
$totalHeight = $('#sidebar-container').innerHeight();
$('.sidebar-heading').each(function() {
$totalHeight = ($totalHeight - $(this).outerHeight());
});
$('.sidebar-contents').each(function() {
if ($(this).hasClass('active')) {
$(this).css('height',$totalHeight);
}
});
$('.sidebar-heading').click(function() {
$('.sidebar-contents').slideUp().removeClass('active').addClass('inactive')/*.css('height','').removeAttr('style')*/;
$('.sidebar-heading').removeClass('active')/*.next().slideUp()*/;
$(this).addClass('active').next().addClass('active').removeClass('inactive').css('height',$totalHeight).slideDown();
});
});
我很确定它应该做什么是显而易见的。
我的问题是:第一次单击 a('.sidebar-heading')
不会将期望$totalHeight
应用于其兄弟。以下点击,确实如此。我究竟做错了什么?
我有一个包含此代码的草稿 HTML。我注释掉了上面的那些部分以检查错误在哪里,但无论如何都无法弄清楚。