0

我的网站页面中有两个 div 一个在另一个旁边(一个左一个右),我想使用 javascript 将左侧的高度更改为右侧的内容

我试图获得正确 div 的动态高度:

function getHeight() {
    var doc = document.getElementById('div.right');

    if (document.all) // ok I.E
    {
        H = doc.currentStyle.height;
    }
    else // ok FF
    {
        H = document.defaultView.getComputedStyle(doc, null).height;
    }
}​

但我停在这里,因为我不知道如何将 javascript 变量传递给我的样式 CSS 页面,我的意思是我不知道如何自动将此值应用于同一页面中的其他 div(左 div)。

任何的想法?

4

2 回答 2

2

只需使用

document.getElementById('div.left').style.height = H;

编辑

  1. AFAIK,您无法从 javascript 修改外部样式表
  2. div 的高度是在提供、加载文档时还是在加载文档后的任意时间确定的?

我上面建议的代码是这样使用的(我假设你的 IE 代码是正确的)

function getHeight() {
    var doc = document.getElementById('div.right');
    if (document.all) // ok I.E
    {
        H = doc.currentStyle.height;
    }
    else // ok FF
    {
        H = document.defaultView.getComputedStyle(doc, null).height;
    }
    document.getElementById('div.left').style.height = H;//✔
}
于 2012-06-24T01:14:17.757 回答
0

只是为了帮助人们,我发现了一个很棒的代码,可以使用一点 Jquery 自动更改两个 div 的高度:

<script type='text/javascript'>
    $(window).load(function(){
    var lh = $('#div.right').height();
     var rh = $('#div.left').height();
     if (lh >= rh){
    //alert('left : ' + lh);
    $('#div.left').height(lh);
    } else {
    //alert('right : ' + rh);
    $('#div.right').height(rh);
    };
    });
    </script>

它适用于所有导航员。

于 2012-06-28T13:12:54.493 回答