Prefacio: El proyecto de la compañía necesita usar un marco emergente para centrarse verticalmente. Las capas emergentes de centrado vertical similares en Internet son similares. Debido a que el proyecto se basa en jQuery, use $ (ventana) .Height ()-Layer.Height ())/2 +$ (documento) .ScrollTop () para obtener el desplazamiento vertical. Probé todo tipo de navegadores sin ningún problema. Después de que el personal de fondo movió el valor al proyecto, hubo un problema. Cuando la página excedió una pantalla, en Chrome y FF, el cuadro emergente no se centró verticalmente en la pantalla actual, sino que se centró en relación con toda la página web.
Después de revisar la información de todas las partes, todas las conclusiones indican:
1. Altura de la ventana, $ (ventana) .Height ()
2. Altura del documento, $ (documento) .Height ()
3. La altura del enrollado, $ (ventana) .scrolltop ()
Encuentre la razón : luego, descubrí que la página del personal de backend no tenía DOCTYPE, por lo que en Chrome, $ (Window) .Height () = $ (documento) .Height (), $ (documento) .Height () que cuando la altura de contenido real de la página web no está llena de una pantalla, significa la altura de la ventana completa (el valor cambiará cuando la ventana se amplía y reduce). Cuando la página excede una pantalla, se expresa como la altura real de todo el contenido de la página web. No hay objeción a esto, y no tiene ningún efecto sobre si establecer o no DOCTYPE. Sin embargo: $ (ventana) .Height () está en transición.dtd, independientemente de si la altura real del contenido de la página web excede la pantalla completa o no, es igual a la altura de toda la ventana (el valor cambiará cuando la ventana se amplíe y se reduce). Si DocType no está configurado, $ (ventana) .Height () = $ (documento) .Height (). Es decir, cuando el contenido excede una pantalla, $ (ventana) .Height () es la altura real de la página web, que no es lo que se dice que es igual a la altura de la ventana.
Solución:
S Para obtener la altura de la ventana, solo puede hacer los cambios correspondientes en función de DOCTYPE. Si DocType no está configurado, se realizará el siguiente procesamiento.
if ($ (documento) .Height ()> = $ (ventana) .Height ()) {_windowheight = document.body.clientHeight; } else {// alert ($ (ventana) .Height ()); _WindowHeight = $ (documento) .Height (); };Cuando DocType se establece en Transitional.dtd, WindowHeight = $ (Window) .Height ()
La breve discusión anterior sobre el impacto de Doctype en el valor de $ (ventana) .Height () es todo el contenido que comparto con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.