新しいリーフレットv1は、ポップアップを閉じるときにフェードアウトアニメーションを表示します。 それは素晴らしいですが:
ユーザーがこのフェードアウトを使用するかどうかを選択できるオプションがあると便利です。
説明:いくつかの関数map.on.popupopenを実行して、開いているポップアップをリアルタイムでスタイル設定します(地球上のさまざまな場所でさまざまなスタイル)。 また、新しいフェードアウトが含まれるようになったため、追加したスタイルは、CLOSINGポップアップのfadeOut中(新しいポップアップが開く前)にすでに表示されています。 これは醜いビジュアルミックスにつながります:)
http://jsfiddle.net/Pe5xU/268/
グローバルオプションfadeAnimationtrue / falseではなく、ポップアップのfadeIn / fadeOutを互いに独立して使用する/使用しないことを選択できると便利だと思います。
「私の」小さな問題を考慮しなくても、ポップアップがフェードせずに消えるのを見るのが大好きで、私は一人ではありません... :)
すでにポップアップのスタイルを設定している場合は、CSSの次のビットを追加するだけです。
.leaflet-fade-anim .leaflet-popup {
transition: none;
}
グローバルオプションfadeAnimationtrue / falseではなく、ポップアップのfadeIn / fadeOutを互いに独立して持つ/持たないことを選択しましょう。
フェードアニメーションを無効にするポップアップにCSSクラスを追加し、同じビットのCSSを使用するだけです:-)
これは、特に少し余分なCSSを使用して回避できる場合は、非常に重要な機能ではないと思います。
ありがとう。 しかし、その間もフェードインをスキップします...
それはそれほど重要ではありませんが、あなたは正しいです。
これは、ソースコードの数行を削除することで実行できます(悪いことですが、私は知っています:)。
ポップアップを削除するときは、fadeOutを回避するためにIF部分をスキップします。
L.Popup = L.Layer.extend({ ..。 onRemove:関数(マップ){ // if(map._fadeAnimated){ // L.DomUtil.setOpacity(this._container、0); // this._removeTimeout = setTimeout(L.bind(L.DomUtil.remove、L.DomUtil、this._container)、200); //} そうしないと { L.DomUtil.remove(this._container); //} map.fire( 'popupclose'、{popup:this}); if(this._source){ this._source.fire( 'popupclose'、{popup:this}、true); } }、 ..。 )}
@remilevソースコードの縮小版を変更しないでください。 誰もそれを理解することはできません。
@IvanSanchezありがとう!
.leaflet-fade-anim .leaflet-popup {
transition: none;
}
これは私にとってはうまくいきます。
最も参考になるコメント
すでにポップアップのスタイルを設定している場合は、CSSの次のビットを追加するだけです。
フェードアニメーションを無効にするポップアップにCSSクラスを追加し、同じビットのCSSを使用するだけです:-)
これは、特に少し余分なCSSを使用して回避できる場合は、非常に重要な機能ではないと思います。