我面临一个有线问题。使用引导程序,我编写了一些类似于此的布局:
<div class="row-fluid">
<div class="span4" id="block1">Some short text</div>
<div class="span4" id="block2">Some LONG text<br/>displayed on<br/>multiple lines</div>
<div class="span4" id="block3">Some short text</div>
</div>
我的自定义 CSS 添加了一些装饰,并且每个.span*都有其可见的边界(边框、阴影等)。因此,#block2高于#block1和#block3。我编写了一个函数autoAlign(),它解析每个.span*中的所有内容.row-fluid并调整它们的高度,$(this).css('height', value)因此每个.span*中的每个都.row-fluid具有相同的高度。到这里为止,一切正常。
在我的项目中,我有这样的事情:
<div class="row-fluid">
<div class="span8" id="left">Some VERY LONG text<br />...<br />...</div>
<div class="span4" id="right">
<div class="row-fluid">
<div class="span12">Some fields</div>
</div>
<div class="row-fluid">
<div class="span12" id="graph"></div>
</div>
</div>
</div>
这里#left比#right和高,在一个函数中,我调用autoAlign()了与和#right相同的高度#left,然后#graph用 jqplot 绘制图表。我需要在使用jqplot#graph绘制图表之前更改高度,以便图表使用尽可能多的高度。
autoAlign()我的问题是浏览器(此处为 Chrome 27)不会立即考虑所做的调整,即使我可以看到style="height: NNNpx"已添加到每个.span*元素。结果,如果我尝试访问 with 的高度,#right或者$('#right').height()我$('#right').css('height')得到当前高度(即不style="height: NNNpx"考虑),因此,我无法计算所需的大小#graph,以便该元素能够容纳所有剩余的中的空间#right。CSS 更改仅在退出功能时应用于屏幕
所以,我的问题如下:有没有办法强制浏览器重新绘制/应用最近的 CSS 更改?
谢谢。