Estoy usando el cuadro de diálogo de Jquery para abrir una ventana de cuadro emergente en la parte superior de la página. Cuando abro el cuadro de diálogo, quiero que se deshabilite el desplazamiento general de la página. para hacerlo, estoy haciendo:js/css: desactivar la barra de desplazamiento, pero mantener la posición de desplazamiento
$('body').css({overflow:'hidden'});
cuando se abre el cuadro de diálogo, y:
$('body').css({overflow:'auto'});
cuando se cierra el diálogo.
Esto funciona, pero cuando se quita la barra de desplazamiento, el contenido en la parte posterior se mueve hacia la derecha y el resultado no es bueno.
me trataron otro método, mediante la creación de una clase css "noscroll", tales como:
body.noscroll
{
position: fixed;
overflow-y: scroll;
width: 100%;
}
entonces, en lugar de la anterior código JS, estoy añadiendo y quitando esta clase para el cuerpo de diálogo abierto cerrado.
Ahora esto funciona para la barra de desplazamiento y el contenido en la parte posterior no se mueve hacia la derecha, pero con este método el contenido en la parte posterior vuelve a la parte superior.
Así que, básicamente, el método 1 hace que el contenido se mueva hacia la derecha, y method2 hace que el contenido vuelva a la parte superior.
¿Alguien sabe una solución para esto? no hay desplazamiento para el contenido en la parte posterior cuando se abre el cuadro de diálogo, y no hay movimiento al deshabilitar el desplazamiento ...?
¿Ha considerado implementar una superposición div 100% posicionada de forma absoluta detrás del diálogo para bloquear todas las interacciones con la página? – dSquared
¡Bien pensado, lo intentaré y publicaré mis resultados! – Piero
¿Encontró la solución para esta pregunta? ¿me pueden ayudar? gracias! lo siento, hablo inglés no bien. –