2015-09-18 49 views
-1

我有一個div裏面有很多絕對定位的元素。現在我需要獲得文檔的高度,以便能夠在底部添加邊距。如何在移動設備上使用JavaScript獲取整個文檔的高度?

這段代碼:

var body = document.body, html = document.documentElement; 

var height = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight); 

工作正常,在桌面上。但它不適用於移動設備...

它返回窗口高度而不是整個文檔高度。

我想要做的是保證金添加到不因爲絕對定位的元素的工作底部...

注: 在平板電腦和智能手機一個奇怪的行爲。由於在那裏固定元素在左邊和右邊的網站移動我不得不將我的主容器溢出屬性設置爲隱藏。

回答

0

我發現了問題所在:由於溢出:隱藏它並沒有得到整個文檔。

我解決了這個問題,通過搜索文檔的最低元素並添加一個margin-bottom。

2

也許試試JQuery height()方法。

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
 
<script> 
 
$(document).ready(function(){ 
 
    $("button").click(function(){ 
 
     alert("Height of document is: " + $(document).outerHeight(true)); 
 
    }); 
 
}); 
 
</script> 
 
</head> 
 
<body> 
 

 
<button>Display the height of document</button>

+0

我試過了,它返回的值與其他方法相同 – Dalibor

+0

你是什麼意思'整個文檔高度'? '$(document)'選擇整個文檔 – developer

+0

我有一個帶有絕對定位元素的div,它將它們從文檔流中取出,因此我認爲該文檔比您在瀏覽器中看到的文檔要小。或者我錯了? – Dalibor

相關問題