Panzoom: Utilice las dimensiones adecuadas para la contención

Creado en 30 ago. 2016  ·  10Comentarios  ·  Fuente: timmywil/panzoom

Asunto del problema

En ocasiones, la contención utiliza dimensiones principales en lugar de las dimensiones del elemento panorámico.

Tu entorno

  • versión de jquery.panzoom 3.2.2
  • versión de jquery 3.1.0
  • qué navegador y su versión Chrome 52

    pasos para reproducir

http://jsbin.com/cidebod/edit?html , css, js, salida

bug

Comentario más útil

@arkoe Actualización de la solicitud de extracción n. ° 279 para manejar su problema. Lamentablemente, no pude actualizar tus ejemplos. Déjame saber si funciona.

Todos 10 comentarios

@timmywil tuvimos este error recientemente, y solo escribimos una solución y abrimos un PR. Consulte: https://github.com/timmywil/jquery.panzoom/pull/279/files o descárguelo directamente .

@awartani Estoy enfrentando el mismo problema y tu solución no funcionó.

El problema ocurre cuando el div padre tiene dimensiones más pequeñas que el elemento panzoom (la imagen).

@timmywil ¿ Alguna idea de cuándo se solucionará esto? Realmente amo el proyecto y me encantaría usarlo :-).

@arkoe Creo que has probado la rama incorrecta, actualicé tu ejemplo. Consulte http://jsbin.com/gigadis/edit?html , css, js, salida

@awartani En su ejemplo, el elemento panzoom (cuadrado azul) es más pequeño que el padre. Cuando haces que el elemento sea más grande que su padre, se produce un error. También tenga en cuenta que no creé este problema; Solo estoy enganchando :)

Lo siento @arkoe , asumí que tú creaste este problema. Ahora comprendo el problema y creo que podría ser fácil de resolver. Por favor, eche un vistazo a la solicitud de extracción n. ° 279 específicamente:

if (contain === 'invert' || (contain === 'automatic' && zoomAspectH < 1.01)) {
//original code
} else {
//my fix
var originalHeight = height / scale;
var originDiff = (originalHeight - height) / 2;
matrix[5] = Math.max(Math.min(matrix[5], conHeight - originalHeight + originDiff), -originDiff);
}

Como no sé mucho cómo probar la primera declaración if y no es lo que estoy buscando, arreglé la declaración else . Creo que si toma la misma solución y la modifica un poco, podrá resolverla.

@awartani He estado usando tus relaciones públicas e intenté jugar con eso. Ya pasé bastantes horas y parece que no puedo arreglarlo. ¿Hay algo en tu mente que pueda orientarme en la dirección correcta para solucionar este problema? ¡Gracias por sus rápidas respuestas por cierto! Muy apreciado.

@arkoe Tenía algo para probar, pero necesito entrar y probarlo, ¿puedes presionar un código de muestra e intentaré verlo esta noche?

@awartani He subido dos ejemplos, demo.html es el archivo dist de @timmywil , demo2.html está usando su solución. http://arko.io/x/panzoom/demo.html http://arko.io/x/panzoom/demo2.html

@arkoe Actualización de la solicitud de extracción n. ° 279 para manejar su problema. Lamentablemente, no pude actualizar tus ejemplos. Déjame saber si funciona.

Thnx @awartani. ¡Arreglado mis problemas perfectamente!

¿Fue útil esta página
0 / 5 - 0 calificaciones