javascript函数上的奇怪的chrome行为来调整div的大小

时间:2012-12-21 02:55:57

标签: javascript html css google-chrome webkit

我写了一个脚本来调整div的大小,相对于另一个div的高度加上70px(这是边距的大小(顶部和底部))并将其加载到window.onload函数中。

        <script language="JavaScript">
        function tamanho_wrapper2(){
            var mydiv = document.getElementById("topicos");
            var current_height = parseInt(mydiv.offsetHeight);
            var wrapper2 = document.getElementById("wrapper2");
            wrapper2.style.height = current_height+70+"px";

        }
    </script>

它正在使用firefox,div正是我想要它的方式。 但是在chrome上,在第一页的加载中,它包括我获得高度的div高度的底部和顶部边距的大小,所以div比我想要的要大。奇怪的是,当重新加载页面时,chrome只计算div的自身高度,就像firefox一样。它已经发生在你身上吗?

编辑:嗯,我最终得出的结论是,这是一个古老的事实:浏览器的引擎工作不同,发生在我身上的是一个证据。感谢您的关注。

Edit2:奇怪的是,浏览器的奇怪行为已经停止发生。

2 个答案:

答案 0 :(得分:3)

尝试重置样式表(上面的链接)。所有浏览器都为每个元素都有自己的默认样式,也许Chrome会将它添加到你的div中,其他浏览器也可能以不同的方式显示它。

http://meyerweb.com/eric/tools/css/reset/

PS:对不起,我的英语有时更糟:P

答案 1 :(得分:0)

我不确定为什么你的javascript在Chrome中不起作用,它看起来对我而言。你尝试过使用jquery吗?我刚刚测试了这款i chrome并没有任何不良影响。我希望它有所帮助:)

<div id="div1" style="background-color:#ff0000; height:50px; width:10px; float:left;"></div>

<div id="div2" style="background-color:#00ff00; height:150px; width:10px; float:left;"></div>

<input type="button" value="resize" onclick="resizeDiv();" />

然后这个jquery代码:

function resizeDiv(){
$('#div1').css('height', $('#div2').css('height'));
}