He implementado fancybox2 en un sitio de desarrollo.
Cuando enciendo el fancybox (haga clic en el enlace, etc.), todo el html se desplaza detrás de él y va a la parte superior. Lo tengo funcionando bien en otra demostración, pero cuando arrastro el mismo código a este proyecto, salta a la parte superior. No solo con los enlaces a divs en línea, sino también para una galería de imágenes simple.
Alguien ha experimentado esto?
jquery
css
fancybox-2
Sheriffderek
fuente
fuente
Respuestas:
En realidad, esto se puede hacer con un ayudante en Fancybox 2.
http://davekiss.com/prevent-fancybox-from-jumping-to-the-top-of-the-page/
fuente
locked
está configurado enfalse
). Esta es una solución temporal a un problema que puede crear otro en algunos escenarios. Esto fue un error y se ha corregido en el último master github.com/fancyapps/fancyBox/archive/master.zipJordanj77 es correcto, pero la solución más fácil es ir a la hoja de estilo
jquery.fancybox.css
y comentar la fila que diceoverflow: hidden !important;
en la sección.fancybox-lock
fuente
Me doy cuenta de que esta es una pregunta antigua, pero creo que he encontrado una buena solución. El problema es que el cuadro elegante cambia el valor de desbordamiento del cuerpo para ocultar las barras de desplazamiento del navegador.
Como señala Dave Kiss, podemos evitar que la caja elegante haga esto agregando los siguientes parámetros:
Pero ahora podemos desplazarnos por la página principal mientras miramos nuestra elegante ventana de caja. Es mejor que saltar al principio de la página, pero probablemente no sea lo que realmente queremos.
Podemos evitar el desplazamiento de la manera correcta agregando los siguientes parámetros:
Y agregue estas funciones de galambalaz. Consulte: ¿Cómo deshabilitar el desplazamiento temporalmente?
fuente
El problema es que fancyBox cambia el valor de desbordamiento del cuerpo para ocultar las barras de desplazamiento del navegador. No pude encontrar una opción para alternar este comportamiento.
Puede eliminar esta sección del código fancyBox para evitarlo:
fuente
A pesar de que la forma correcta de resolver este problema es a través de las opciones que proporciona fancybox ( consulte esta respuesta ), CSS podría usarse para resolver el problema. No es necesario editar el archivo css de la biblioteca, solo agréguelo a la hoja de estilo principal de la aplicación:
El código restablece el desbordamiento original del elemento. El problema es que
overflow: hidden;
oculta la barra de desplazamiento del<html>
elemento, lo que provoca que la página "salte" a la parte superior. Para preservar la posición de la barra de desplazamiento, sobrescribimos el desbordamiento conoverflow: visible;
fuente
<body>
o y el<html>
pueden tenerheight: 100%
Esto también ayudó
fuente
La respuesta aceptada no está completa ya que en realidad no resuelve el problema, ¡simplemente lo evita! Aquí hay una respuesta más completa que realmente le brinda la funcionalidad deseada mientras soluciona el problema de salto de ventana:
fuente
Tal vez esta respuesta sea siempre tardía, pero tal vez podría ayudar en el futuro, si después de hacer clic / cerrar una imagen, fancybox hace que su sitio web se desplace hacia la parte superior, simplemente puede eliminar:
o mejor uso:
En la versión de fancyBox: 2.1.5 (viernes 14 de junio de 2013), esa parte del código está en la línea 897.
fuente
En realidad, puede codificar así si está utilizando la función predeterminada de fancybox:
fuente
Lo arreglé con:
en
.fancybox-lock
cuerpo enjquery.fancybox.css
. Y la barra de desplazamiento no salta :)fuente