2012-12-22 29 views
7

document.body.clientHeight không trở về đúng giá trị (đổi lại mã bên dưới 0 onload và 20 onresize)document.body.clientHeight không hoạt động? (JavaScript)

<html> 
<head> 
<title>Untitled</title> 
<script type="text/javascript" > 
function height1() 
{ 
    document.getElementById("viewheight").innerHTML = document.body.clientHeight; 
} 
</script> 
</head> 

<body onload="height1();" onresize="height1();"> 
<span id="viewheight"></span> 
</body> 
</html> 

Bất kỳ Comments ..... plz giúp đỡ!

Trả lời

13

Dùng thử với document.getElementById("viewheight").innerHTML = window.innerHeight;

Hành vi của tập lệnh hoàn toàn chính xác. Khi bắt đầu, chiều cao của cơ thể bạn thực sự là 0 (chiều cao cơ thể là chiều cao của tài liệu). Bởi vì không có gì được hiển thị, chiều cao kết quả bằng không. Sau khi thay đổi kích thước, chữ "0" được in của bạn dài hơn 20px, do đó kết quả sẽ ở mức 20px.

Nếu bạn muốn để có được chiều cao tối đa của cửa sổ hoặc cơ thể bạn có thể sử dụng Math.max(window.innerHeight, document.body.clientHeight)

+0

có thể một số css được áp dụng kéo căng phần thân trong sách mẫu của bạn sang kích thước khác hoặc có nhiều nội dung hơn trong trang – bukart

+0

Có phải 'document.body.clientHeight' không được chấp nhận? –

+0

cho đến nay tôi biết nó không phải là – bukart

-1

.clientHeight cho chúng ta một giá trị Integer chỉ. Nhưng ở đây quy mô loại kích thước là mất tích đó là lý do tại sao nó không hoạt động chính xác chỉ cần thêm + "px" chỉ sau document.body.clientHeight.

<script> 
    function height1() { 
     document.getElementById("viewheight").innerHTML = document.body.clientHeight + "px"; 
    } 
</script> 
Các vấn đề liên quan