Leaflet: Izinkan pengguna TIDAK memiliki animasi popup fadeOut di closepopup (v1 beta2)

Dibuat pada 8 Nov 2015  ·  4Komentar  ·  Sumber: Leaflet/Leaflet

Leaflet baru v1 menghadirkan animasi fadeOut saat menutup popup. Itu bagus, tapi:

Akan sangat bagus untuk memiliki opsi untuk membiarkan pengguna memilih untuk memiliki atau TIDAK fadeOut ini.
Penjelasan : Saya menjalankan beberapa fungsi map.on.popupopen ke gaya secara real time popup yang sedang dibuka (gaya yang berbeda untuk tempat yang berbeda di bumi). Dan dengan fadeout baru yang sekarang disertakan, gaya yang saya tambahkan sudah terlihat selama fadeOut dari popup PENUTUP (sebelum popup baru dibuka). Yang mengarah ke campuran visual yang jelek :)

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

Saya pikir Akan sangat bagus untuk membiarkan kita memilih untuk memiliki/tidak memiliki fadeIn/fadeOut dari popup secara independen satu sama lain daripada opsi global fadeAnimation true/false.

Bahkan tanpa memikirkan masalah kecil "saya", saya suka melihat popup menghilang tanpa memudar dan saya tidak sendirian... :)

Komentar yang paling membantu

Jika Anda sudah menata popup, cukup tambahkan sedikit CSS ini:

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

mari kita memilih untuk memiliki/tidak memiliki fadeIn/fadeOut dari popup secara independen satu sama lain daripada opsi global fadeAnimation true/false.

Cukup tambahkan kelas CSS ke sembulan yang ingin Anda nonaktifkan animasi fadenya, dan gunakan sedikit CSS yang sama :-)

Saya tidak berpikir ini adalah fitur yang sangat penting untuk dimiliki, khususnya ketika dapat diselesaikan dengan sedikit CSS tambahan.

Semua 4 komentar

Jika Anda sudah menata popup, cukup tambahkan sedikit CSS ini:

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

mari kita memilih untuk memiliki/tidak memiliki fadeIn/fadeOut dari popup secara independen satu sama lain daripada opsi global fadeAnimation true/false.

Cukup tambahkan kelas CSS ke sembulan yang ingin Anda nonaktifkan animasi fadenya, dan gunakan sedikit CSS yang sama :-)

Saya tidak berpikir ini adalah fitur yang sangat penting untuk dimiliki, khususnya ketika dapat diselesaikan dengan sedikit CSS tambahan.

Terima kasih. Tapi itu melewatkan fadeIn juga sementara itu ...

Itu tidak terlalu penting, Anda benar.
Itu dapat dilakukan dengan menghapus beberapa baris dalam kode sumber (itu buruk, saya tahu :).
Saat menghapus popup, saya melewatkan bagian IF untuk menghindari fadeOut :

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

 onRemove: fungsi (peta) {
 //if (map._fadeAnimated) {
 // L.DomUtil.setOpacity(ini._kontainer, 0);
 // this._removeTimeout = setTimeout(L.bind(L.DomUtil.remove, L.DomUtil, this._container), 200);
 //} lain {
 L.DomUtil.remove(ini._container);
 //}
 map.fire('popupclose', {popup: ini});
 jika (ini._sumber) {
 this._source.fire('popupclose', {popup: this}, true);
 }
 },
 ...

 )}

@remilev Tolong jangan ubah versi kode sumber yang

@IvanSanchez Terima kasih!

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

Ini bekerja untuk saya.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat