Leaflet: Permitir que el usuario NO tenga la animación de desvanecimiento de la ventana emergente en la ventana emergente cercana (v1 beta2)

Creado en 8 nov. 2015  ·  4Comentarios  ·  Fuente: Leaflet/Leaflet

El nuevo folleto v1 trae la animación fadeOut al cerrar la ventana emergente. Es genial, pero:

Sería genial tener una opción para permitir que el usuario elija tener o NO este desvanecimiento.
Explicación: ejecuto algunas funciones map.on.popupopen para diseñar en tiempo real la ventana emergente que se está abriendo (diferentes estilos para diferentes lugares de la tierra). Y con el nuevo fadeout ahora incluido, los estilos que agrego ya son visibles durante el fadeOut de la ventana emergente CLOSING (antes de que se abra la nueva ventana emergente). Lo que lleva a una fea mezcla visual :)

http://jsfiddle.net/Pe5xU/268/

Creo que sería genial dejarnos elegir tener / no tener fadeIn / fadeOut de ventanas emergentes de forma independiente entre sí en lugar de la opción global fadeAnimation true / false.

Incluso sin considerar "mi" pequeño problema, me encanta ver las ventanas emergentes desaparecer sin desvanecerse y mybe no estoy solo ... :)

Comentario más útil

Si ya está diseñando ventanas emergentes, simplemente agregue este bit de CSS:

.leaflet-fade-anim .leaflet-popup {
  transition: none;
}

vamos a elegir tener / no tener fadeIn / fadeOut de ventanas emergentes de forma independiente entre sí en lugar de la opción global fadeAnimation true / false.

Simplemente agregue una clase CSS a las ventanas emergentes para las que desea deshabilitar los animes de atenuación y use el mismo bit de CSS :-)

No creo que esta sea una característica muy importante, especialmente cuando se puede solucionar con un poco de CSS adicional.

Todos 4 comentarios

Si ya está diseñando ventanas emergentes, simplemente agregue este bit de CSS:

.leaflet-fade-anim .leaflet-popup {
  transition: none;
}

vamos a elegir tener / no tener fadeIn / fadeOut de ventanas emergentes de forma independiente entre sí en lugar de la opción global fadeAnimation true / false.

Simplemente agregue una clase CSS a las ventanas emergentes para las que desea deshabilitar los animes de atenuación y use el mismo bit de CSS :-)

No creo que esta sea una característica muy importante, especialmente cuando se puede solucionar con un poco de CSS adicional.

Gracias. Pero también se salta el fadeIn mientras tanto ...

Sin embargo, no es muy importante, tienes razón.
Se puede hacer eliminando algunas líneas en el código fuente (es malo, lo sé :).
Al eliminar la ventana emergente, omito la parte IF para evitar el desvanecimiento:

 L.Popup = L.Layer.extend ({
 ...

 onRemove: function (map) {
 // if (map._fadeAnimated) {
 // L.DomUtil.setOpacity (this._container, 0);
 // this._removeTimeout = setTimeout (L.bind (L.DomUtil.remove, L.DomUtil, this._container), 200);
 //} demás {
 L.DomUtil.remove (este._contenedor);
 //}
 map.fire ('popupclose', {popup: this});
 if (this._source) {
 this._source.fire ('popupclose', {popup: this}, verdadero);
 }
 },
 ...

 )}

@remilev Por favor, no modifique la versión reducida del código fuente. Nadie puede entender eso.

@IvanSanchez ¡Gracias!

.leaflet-fade-anim .leaflet-popup {
  transition: none;
}

Esto funciona para mi.

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

Temas relacionados

timwis picture timwis  ·  3Comentarios

arminghm picture arminghm  ·  3Comentarios

CallMarl picture CallMarl  ·  3Comentarios

pgeyman picture pgeyman  ·  3Comentarios

brambow picture brambow  ·  3Comentarios