序文:会社プロジェクトは、ポップアップフレームを使用して垂直に中心にする必要があります。インターネット上の同様の垂直センタリングポップアップレイヤーは似ています。プロジェクトはjQueryに基づいているため、$(window).height() - layer.height())/2 +$(document).scrolltop()を使用して垂直変位を取得します。問題なくあらゆる種類のブラウザをテストしました。バックグラウンド担当者がプロジェクトに価値を移動した後、問題がありました。ページが1つの画面を超えると、ChromeとFFの下で、ポップアップボックスは現在の画面の垂直に中央に配置されていませんでしたが、Webページ全体に比べて中心にありました。
すべての関係者からの情報を確認した後、すべての結論は次のことを示しています。
1。ウィンドウの高さ、$(window).height()
2。ドキュメントの高さ、$(document).height()
3。巻き上げられた高さ、$(window).scrolltop()
理由を見つける:その後、バックエンド担当者のページにはdoctypeがないことがわかりました。そのため、chrome、$(window).height()= $(document).height()、$(document)、height()は、Webページの実際のコンテンツの高さが1つの画面でいっぱいではなく、ウィンドウの高さを意味する場合(ウィンドウが変化します)。ページが1つの画面を超えると、Webページコンテンツ全体の実際の高さとして表現されます。これに異議はありません。また、Doctypeを設定するかどうかには影響しません。ただし、$(window).height()は、Webページのコンテンツの実際の高さがフル画面を超えるかどうかに関係なく、Transitional.dtdにあります。ウィンドウ全体の高さに等しくなります(ウィンドウが拡大および縮小されると値が変わります)。 doctypeが設定されていない場合、$(window).height()= $(document).height()。つまり、コンテンツが1つの画面を超える場合、$(window).height()はWebページの実際の高さであり、ウィンドウの高さに等しいとは言われていません。
解決:
sウィンドウの高さを取得するには、Doctypeに基づいて対応する変更のみを行うことができます。 Doctypeが設定されていない場合、次の処理が行われます。
if($(document).height()> = $(window).height()){_windowheight = document.body.clientheight; } else {// alert($(window).height()); _windowheight = $(document).height(); };doctypeがtransitional.dtdに設定されている場合、windowheight = $(window).height()
Doctypeが$(window).height()の値に与える影響に関する上記の簡単な議論は、私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。