Jak uzyskać wysokość i szerokość dokumentu w pliku pure javascript tj. bez użycia jquery.
Wiem o $(document).height()i $(document).width(), ale chcę to zrobić wjavascript.
Miałem na myśli wysokość i szerokość strony.
Jak uzyskać wysokość i szerokość dokumentu w pliku pure javascript tj. bez użycia jquery.
Wiem o $(document).height()i $(document).width(), ale chcę to zrobić wjavascript.
Miałem na myśli wysokość i szerokość strony.
Odpowiedzi:
var height = document.body.clientHeight;
var width = document.body.clientWidth;
Sprawdź: ten artykuł zawiera lepsze wyjaśnienie.
window.innerWidthrozwiązuje ten problem
Nawet ostatni przykład podany na http://www.howtocreate.co.uk/tutorials/javascript/browserwindow nie działa w trybie Osobliwości. Łatwiej znaleźć niż myślałem, wydaje się, że jest to rozwiązanie (wyodrębnione z najnowszego kodu jQuery):
Math.max(
document.documentElement["clientWidth"],
document.body["scrollWidth"],
document.documentElement["scrollWidth"],
document.body["offsetWidth"],
document.documentElement["offsetWidth"]
);
po prostu zamień Szerokość na „Wysokość”, aby uzyskać Wysokość.
$(document).width(). Może szukasz czegoś takiego, $(window).width()co w czystym JS byłoby tylko document.documentElement["clientWidth"]w nowoczesnych przeglądarkach.
To jest rozwiązanie dla różnych przeglądarek:
var w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
var h = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
Powinieneś używać, getBoundingClientRectponieważ zwykle działa w różnych przeglądarkach i zapewnia sub-pikselową precyzję w prostokącie granic.
elem.getBoundingClientRect()
Uzyskaj rozmiar dokumentu bez jQuery
document.documentElement.clientWidth
document.documentElement.clientHeight
I użyj tego, jeśli potrzebujesz rozmiaru ekranu
screen.width
screen.height
Możesz także spróbować:
document.body.offsetHeight
document.body.offsetWidth
To powinno działać dla wszystkich przeglądarek / urządzeń:
function getActualWidth()
{
var actualWidth = window.innerWidth ||
document.documentElement.clientWidth ||
document.body.clientWidth ||
document.body.offsetWidth;
return actualWidth;
}
Jeśli chcesz uzyskać pełną szerokość strony, w tym przepełnienie, użyj document.body.scrollWidth.
Jak bardzo łatwo sprawdzić szerokość i wysokość dokumentu?
w HTML
<span id="hidden_placer" style="position:absolute;right:0;bottom:0;visibility:hidden;"></span>
w javascript
var c=document.querySelector('#hidden_placer');
var r=c.getBoundingClientRect();
r.right=document width
r.bottom=document height`
W razie potrzeby możesz to zaktualizować przy każdym zdarzeniu zmiany rozmiaru okna.
windowto całe okno aplikacji przeglądarki. documentto faktycznie załadowana strona internetowa.
window.innerWidthi window.innerHeightweźmie pod uwagę paski przewijania, które mogą nie być tym, czego chcesz.
document.documentElement to cała strona internetowa bez górnego paska przewijania. document.documentElement.clientWidthzwraca szerokość dokumentu bez paska przewijania y.
document.documentElement.clientHeightzwraca rozmiar wysokości dokumentu bez x paska przewijania.