Skrip $(window).height()berfungsi dengan baik (menunjukkan tinggi viewport dan bukan dokumen dengan tinggi scrolling), TETAPI Anda perlu meletakkan tag doctype dengan benar di dokumen Anda, misalnya doctypes ini:
Untuk html5: <!doctype html>
untuk html4 transisi: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Mungkin doctype default yang diasumsikan oleh beberapa browser adalah seperti itu, yang $(window).height()mengambil tinggi dokumen dan bukan tinggi browser. Dengan spesifikasi doctype, ini diselesaikan dengan memuaskan, dan saya cukup yakin Anda akan menghindari "mengubah scroll-overflow menjadi tersembunyi dan kemudian kembali", yang, maaf, trik yang agak kotor, terutama jika Anda tidak ' t mendokumentasikannya pada kode untuk penggunaan programmer di masa depan.
Selain itu, jika Anda membuat skrip, Anda dapat menciptakan tes untuk membantu pemrogram di perpustakaan Anda, izinkan saya menemukan beberapa:
$(document).ready(function() {
if(typeof $=='undefined') {
alert("Error, you haven't called JQuery library");
}
if(document.doctype==null || screen.height < parseInt($(window).height()) ) {
alert("ERROR, check your doctype, the calculated heights are not what you might expect");
}
});