سؤال

أقوم بتحميل البيانات من ملفات html خارجية داخل نطاقي إلى قسم على صفحة الويب الخاصة بي باستخدام طريقة تحميل المحتوى في jQuery.أقوم بإخراج div من الصفحة الجديدة مع إخفاء div في الصفحة الحالية عن طريق إخفاء هذا وتلاشي الصفحة الجديدة.توجد صورة png في كل من هذين القسمين وتقوم بإنشاء نقاط سوداء فظيعة في IE، وتعمل بشكل جيد في المتصفحات الأخرى ولكن نظرًا لعدم قدرة IE على معالجة مرشحات متعددة، فإنها تسبب فوضى.

لقد حاولت استخدام إصلاح الوحدة png دون جدوى، هل لدى أي شخص أي إصلاحات أو أفكار للمساعدة في الحفاظ على مظهر png الخاص بي جميلاً أثناء هذا الانتقال؟

i46.tinypic.com/t9dtvr.jpg هذه لقطة شاشة للمشكلة، تحياتي

اكتشف أيضًا أن ملف png الموجود على الصفحة في الأصل (قبل تحميل أي شيء جديد) يتلاشى للداخل والخارج بشكل مثالي باستخدام وحدة إصلاح png ولكن لا يتم تحميل الأشياء ثم التراجع من الملفات الخارجية.لقد أضفت الإصلاح إلى تلك الصفحات أيضًا ولكن هذا لا يعمل أيضًا.

هل كانت مفيدة؟

المحلول

لا يوجد حل 100% للمشكلة.إذا كانت لديك مناطق شبه شفافة في ملف PNG، فإن أي مرشحات مطبقة ستجعل تلك المناطق معتمة تمامًا.معظم انتقالات الخفوت التي رأيتها تقوم بتطبيق الفلتر أثناء الخبو، ثم قم بإزالة الفلتر بعد ذلك.هذا يعني أنك ستشاهد المناطق ذات الأسماء المستعارة بينما تتلاشى الصورة ولكنها ستبدو جيدة في نهاية الفترة الانتقالية.

يمكن استخدام حل آخر لأجزاء الصفحة الثابتة:إذا كانت الخلفية خلف الصورة ثابتة، فيمكنك إنشاء صورة من تلك الخلفية واستخدامها كصورة خلفية لعلامة img الخاصة بك.بعد ذلك، سيعمل التلاشي للداخل والخارج بشكل جيد.إذا كانت صورة png هي بالفعل صورة خلفية لعنصر ما، فستحتاج إلى وضعها في حاوية مع مجموعة صور الخلفية المعتمة وتلاشيها بدلاً من ذلك.

إذا كنت تتلاشى أمام النص أو المحتوى الديناميكي، فليس هناك الكثير مما يمكنك فعله.


يحرر: يبدو أن الصفحة التالية تحتوي على حل يتضمن مرشح AlphaImageLoader القديم وقسم أصل مع مجموعة مرشح العتامة:

http://blog.mediaandme.be/?ref=17

نصائح أخرى

وكان لي مشكلة مماثلة مع يتلاشى في العناصر مع شفافة بابوا نيو غينيا-الخلفية. بعد بعض البحث وجدت هذه الصفحة، حيث في نهاية ستجد الحل، التي ساعدتني:

<وأ href = "http://www.sitepoint.com/forums/showthread.php؟590295-jQuery-fadein-fadeout-of-transparent-png-in-IE7-and-Chrome" يختلط = "نوفولو "> http://www.sitepoint.com/forums/showthread.php؟590295-jQuery-fadein-fadeout-of-transparent-png-in-IE7-and-Chrome

وللمستخدم dan.tello تستخدم مرشحات إضافية (CSS) في IE:

.item img {
  background: transparent;
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF)"; /* IE8 */   
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);   /* IE6 & 7 */      
  zoom: 1; }

وتحرير: جئت للنشر أنه ميؤوس منها، ولكن هناك في الواقع بعض الناس واصفا العمل في أنحاء. نرى ما اذا كان هذا يساعد على:

http://groups.google كوم / مجموعة / مسج ديف / browse_thread / موضوع / 1f693c5f4e8ea650 / f3bc9685ccb40e70؟ كابلان = 1 http://blogs.msdn.com/ie/archive/ 2005/04/26 / 412263.aspx

وكنت أعاني من مشكلة مماثلة. كنت بحاجة لتحميل واحدة من عدة ملفات PNG شفافة في صفحتي على أساس إدخال المستخدم، وأنها قد تتلاشى في. انتهى بي الأمر باستخدام المتأخر PNG الإصلاح درو ديلر و(المعدة للIE6). داعيا في وثيقة جاهزة لا يعمل لمحتوى ديناميكي وبطبيعة الحال، حتى هنا ما يبدو مخطوطتي مثل:

html = '<img src="selectedimage.png" />';
$('#overlay').html(html);
DD_belatedPNG.fix('#overlay img');
$('#overlay img').hide().fadeIn(1200);

وانها تعمل كبيرا في IE7، ولكن أنا لم تختبر IE8 حتى الان.

ويمكن أن تعطي صورة بابوا نيو غينيا (أو العنصر الذي تلاشى) قيمة background-color غير شفافة؟ أن معظمهم الهلامات.

@jdln - لست متأكدًا مما إذا كان هذا هو ما كانت تسعى إليه وشرحته بشكل خاطئ، أو إذا كان هذا حلاً آخر، لكن هذا نجح بالنسبة لي:

  1. قم بتطبيق PNG الشفاف على عنصر الغلاف
  2. قم بتطبيق الخفوت على عنصر داخل الغلاف.يبدو أن هذا يفرض عنصر الغلاف على العرض أيضًا.
  3. إخفاء عنصر الغلاف، وإظهار عنصر المحتوى باستخدام jQuery Fade

على سبيل المثال:

/* HTML: */
<div id="wrapper">
    <div id="content">I use this for a drop-down menu with a transparent PNG shadow for lte IE8 browsers
    </div>
</div>

/* CSS */
#wrapper{margin-left:-9999px;}

/* jQuery */  
$('#content').hide().fadeIn();

أستخدم .hide() للتأكد من أن التأثير يبدأ من البداية في كل مرة، حيث أنني أستدعي هذا من حدث التمرير.نأمل أن يكون هذا ساعد!

وكل ما عليك القيام به هو جعل المجمع (نمط) حول العنصر (#outer (تمت خلفية بابوا نيو غينيا)) تتلاشى من الابهام الى 1.0 في ملف شبيبة. يعمل كبيرة!

مثال:

وشبيبة الملف:

$('#style').fadeIn('slow');

وملف المغلق:

#style
{
    margin:0;
    background:transparent;
    float:left;
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top