簡體   English   中英

javascript div容器寬度調整大小問題

[英]javascript div container width resize problem

嘿,我在嘗試調整div容器的寬度時遇到問題。 我真的不知道為什么它不起作用...謝謝。

代碼如下:它確實適用於Google Chrome。 但是,使用IE或Firefox將無法正常工作。

<div id="div1" style="position:relative; background-color:#000000; width:100px; height:20px; color:#ffffff; text-align:center;">
    <div id="div2" style="position:absolute; background-color:#00ff00; left:0px; top:0px; bottom:0px; width:10px; text-align:right;">
    </div>
</div>

<script>
var container = document.getElementById("div1");
container.style.width = '300px';
</script>

您對document.getElementById()調用來得很早。 您的元素在DOM上不可用。 也許Chrome可以更快地添加元素(?)。

您不應該依賴腳本在源代碼中的位置。 請改用onload()處理函數。

用以下內容替換腳本標簽的內容,它應該可以工作。

window.onload = function() {
    var container = document.getElementById("div1");
    container.style.height = '100px';
}

您需要將所有內容都放在body標記中,以使javascript正常工作(document.getElementById):

<body>

<div id="div1" style="position:relative; display:block; background-color:#000000; width:100px; height:20px; color:#ffffff; text-align:center;">
    <div id="div2" style="position:absolute; background-color:#00ff00; left:0px; top:0px; bottom:0px; width:10px; text-align:right;">
    </div>
</div>

<script>
var container = document.getElementById("div1");
container.style.width = '300px';
</script>

</body>

@ hacksteak25有答案,但是如果您想將處理程序附加到load事件(或大多數其他事件)上,而不僅僅是快速的hack,那么您應該使用DOM / IE API添加事件處理程序:

function() init{
    var container = document.getElementById("div1");
    container.style.height = '300px';
}

if (window.addEventListener)
    window.addEventListener("load", init, false);
else if (window.attachEvent)
    window.attachEvent("onload", init);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM