为什么这段代码拒绝通过javascript调整我的div?

时间:2011-11-28 09:06:36

标签: javascript html

if(document.getElementById("scroll_dr_fise").offsetHeight > document.getElementById("col_dr_scroll").offsetHeight) {                   
    alert(document.getElementById("col_dr_scroll").offsetHeight);                        
    document.getElementById("scroll_dr_fise").style.height = document.getElementById("col_dr_scroll").offsetHeight+"px";                    
    alert(document.getElementById("scroll_dr_fise").style.height);                  
    document.getElementById("scroll_dr_fise").style.overflowY = "scroll";                   
}

我正在尝试使用此代码将“scroll_dr_fise”的高度调整为“col_dr_scroll”的高度,只要第一个大于第二个,并将垂直滚动添加到“col_dr_fise”。

到目前为止它添加了滚动但它根本没有调整div的大小。

回声的输出是“500”和“500”,如你所料。

1 个答案:

答案 0 :(得分:1)

好像你只是将你的作业颠倒过来或者反过来看。 如果我做对了: 如果scroll_dr_fise高于col_dr_scroll,则希望将col_dr_scroll的大小调整为与scroll_dr_fise相同的高度。

但是在你的任务中,你实际上是将colxxxx的偏移高度设置为xxxdr_fise。并将滚动设置为fise:S

解决方案:只需交换块中的ID,即if(xxx> yyy){swap em here}

旁注:如果您访问同一个节点三到四次,那么如果您选择它并将其保存到var并使用var而不是每次都选择它会更好。将提高性能并使您的代码看起来更性感。