【发布时间】:2014-01-09 23:33:54
【问题描述】:
我有一个侧边栏 #menuOption,我想让它的高度与我的主要内容 #contentWrapper 相同。
我的页面的基本结构是这样的。
HTML
<div id="wrapper">
<div id="menuOption">
</div>
<div id="mainContent">
<div id="contentWrapper">
<div id="content">
<div id="lartDisqus">
<?php comments_template( ); ?>
</div>
</div>
</div>
</div>
</div>
CSS
div#wrapper{height:100%;}
div#menuOption{float:left; width:40px; background:#444; min-height:100%;}
div#mainContent{min-height:100%; margin-left:40px; z-index:0; position:relative;}
div#contentWrapper{float:left; height:100%; width:85%; background-color:green;}
div#content{border-left:1px solid #ddd; border-top:1px solid #ddd; overflow:hidden;
margin-top:195px;}
jQuery
jQuery(window).on("load",function(){
var documentHeight = jQuery('#contentWrapper').height();
jQuery('#menuOption').css('height',documentHeight + 'px');
});
jQuery(function($){
$(window).resize(function(){
var documentHeight = $('#contentWrapper').height();
$('#menuOption').css('height',documentHeight + 'px');
}).resize();
});
我遇到的问题是 #mainOption != #contentWrapper,如果我删除 php 函数 <?php comments_template( ); ?> 那么一切正常,并且 javascript 可以正确计算高度。
我最后一次加载我的 javascript,它肯定正在加载。
好像 javascript 没有考虑 <?php comments_template( ); ?> 输出的 HTML 的高度。
我添加了一个指向实时站点的链接,并用#contentWrapper 着色,这样您就可以更清楚地看到这个问题。 http://lartmagazine.co.uk/lorem-ipsum-dolor-sit-amet/
【问题讨论】:
-
请尝试从您的问题中删除至少一种语言。例如,您肯定可以通过查看浏览器中的代码来确定这是否与 PHP 有关?
-
好的,我只是想说明我的 javascript 正在加载。
-
@OliCharlesworth 我认为他正在将 js 加载到 php 脚本中...wordpress :O
-
@EmilioGort:不过没关系。 PHP 只是生成一堆 HTML/CSS/JS。该代码要么正确,要么不正确。
-
@OliCharlesworth 更多的是表明脚本是最后加载的。使用 'true' 选项,以防对 javascript 对我元素高度的计算产生任何影响。