2012-08-06 33 views
5

Mã này nên đặt chiều cao thành phần; tuy nhiên không có kiểu nào được thêm vào. Tôi có thiếu một cái gì đó hiển nhiên?Đặt chiều cao bằng cách sử dụng Javascript

function setGround() { 
    document.getElementById('content').style.height = '40px'; 
} 

document.onload = setGround; 

HTML là khá cơ bản:

<!DOCTYPE html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Template</title> 
    <link rel="stylesheet" type="text/css" href="css/default.css"/> 
    <link rel="stylesheet" type="text/css" href="css/orange.css"/> 
    <script type="text/javascript" src="javascript/detect-css.js"></script> 
</head> 

<body> 
    <header> 
     <div id="logo"></div> 
    </header> 
    <section id="sidebar"><p>sf </p> 
    </section> 

    <section id="content"><p>sf </p> 
    </section> 

</body> 
</html> 

Cảm ơn bạn đã giúp đỡ của bạn!

+1

Một giải pháp rất đơn giản là đặt kịch bản của bạn xuống ngay trước khi '' thẻ. Sau đó, bạn chỉ có thể làm 'setGround()'. –

Trả lời

4

Không sử dụng document.onload sử dụng window.onload để thay thế.

Xem http://jsfiddle.net/mowglisanu/r6NzE/

+0

hoạt động! cảm ơn bạn! Bạn có thể giải thích sự khác biệt là gì không? – cmplieger

+0

Cuộc thảo luận này nói về nó http://stackoverflow.com/questions/588040/window-onload-vs-document-onload – MattK311

2

bạn có thể sử dụng này:

function setGround() { 
    document.getElementById('content').style.height = '40px'; 
} 
document.onload = setGround; 

nhưng nếu bạn muốn thấy những thay đổi, bạn nên tạo đường viền trên phần thẻ bằng cách sử dụng này:

<section id="content" style='border:1px solid fuchsia;' > 
<p>sf </p> 
</section>  
0

Nơi bạn có đặt mã javascript? Là nó trong detect-css.js?

này hoạt động:

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Template</title> 
<link rel="stylesheet" type="text/css" href="css/default.css"/> 
<link rel="stylesheet" type="text/css" href="css/orange.css"/> 
<script language="javascript"> 
function resize(){ 
document.getElementById("content").style.height='100px'; 
} 
</script> 
</head> 

<body onload="resize()"> 
<header><div id="logo"></div></header> 
<section id="sidebar"><p>sf </p> 
</section> 

<section id="content" style="background-color:#CCC; display:block;"><p>sf </p> 
</section> 

</body> 
</html> 
1

Bạn nên sử dụng

window.onLoad = setGround; 

thay vì

document.onload = setGround; 
Các vấn đề liên quan