النشرة الجديدة v1 تجلب الرسوم المتحركة fadeOut عند إغلاق النافذة المنبثقة. إنه شيء عظيم ، لكن:
سيكون من الرائع أن يكون لديك خيار للسماح للمستخدم باختيار التلاشي أو عدمه.
شرح: أقوم بتشغيل بعض الوظائف map.on.popupopen لأسلوب في الوقت الحقيقي الذي يتم فتح النافذة المنبثقة (أنماط مختلفة لأماكن مختلفة على الأرض). ومع تضمين التلاشي الجديد الآن ، أصبحت الأنماط التي أضفتها مرئية بالفعل أثناء التلاشي من نافذة الإغلاق المنبثقة (قبل فتح النافذة المنبثقة الجديدة). مما يؤدي إلى مزيج بصري قبيح :)
http://jsfiddle.net/Pe5xU/268/
أعتقد أنه سيكون من الرائع السماح لنا باختيار / عدم وجود fadeIn / fadeOut من النوافذ المنبثقة بشكل مستقل عن بعضها البعض بدلاً من الخيار العام fadeAnimation true / false.
حتى بدون النظر إلى مشكلتي الصغيرة ، أحب أن أرى النوافذ المنبثقة تختفي دون أن تتلاشى وأنا لست وحدي ... :)
إذا كنت تقوم بالفعل بتصميم النوافذ المنبثقة ، فما عليك سوى إضافة هذا الجزء من CSS:
.leaflet-fade-anim .leaflet-popup {
transition: none;
}
دعونا نختار أن يكون لدينا / لا يكون لدينا fadeIn / fadeOut من النوافذ المنبثقة بشكل مستقل عن بعضها البعض بدلاً من الخيار العام fadeAnimation true / false.
ما عليك سوى إضافة فئة CSS إلى تلك النوافذ المنبثقة التي تريد تعطيل رسوم التلاشي لها ، واستخدام نفس الجزء من CSS :-)
لا أعتقد أن هذه ميزة مهمة جدًا ، خاصةً عندما يمكن التعامل معها باستخدام القليل من CSS الإضافي.
شكرا. لكنه يتخطى التلاشي أيضًا في هذه الأثناء ...
هذا ليس مهمًا جدًا ، أنت على حق.
يمكن القيام بذلك عن طريق تجريد بضعة أسطر في الكود المصدري (إنه أمر سيء ، وأنا أعلم :).
عند إزالة النافذة المنبثقة ، تخطيت الجزء 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}) ؛ إذا (this._source) { this._source.fire ('popupclose'، {popup: this}، true)؛ } } ، ... )}
remilev الرجاء عدم تعديل النسخة المصغرة من الكود المصدري. لا أحد يستطيع أن يفهم ذلك.
تضمين التغريدة
.leaflet-fade-anim .leaflet-popup {
transition: none;
}
هذا يعمل بالنسبة لي.
التعليق الأكثر فائدة
إذا كنت تقوم بالفعل بتصميم النوافذ المنبثقة ، فما عليك سوى إضافة هذا الجزء من CSS:
ما عليك سوى إضافة فئة CSS إلى تلك النوافذ المنبثقة التي تريد تعطيل رسوم التلاشي لها ، واستخدام نفس الجزء من CSS :-)
لا أعتقد أن هذه ميزة مهمة جدًا ، خاصةً عندما يمكن التعامل معها باستخدام القليل من CSS الإضافي.