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 ... :)
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.
Comentario más útil
Si ya está diseñando ventanas emergentes, simplemente agregue este bit de CSS:
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.