2010-05-04 12 views
19

फीका नहीं है क्या कोई मुझे बता सकता है कि क्यों .jpg IE8 में फीका नहीं होगा या फीका नहीं होगा। अभी यह कोई अस्पष्टता परिवर्तन के साथ सिर्फ अपमानजनक और फिर से दिख रहा है। मैंने इसे स्थानीय रूप से और एक प्रकाशन सर्वर पर स्थापित किया है, अजीब बात यह है कि छवियों को स्थानीय स्तर पर ठीक से बाहर और बाहर फीका किया जाता है, यह केवल तभी होता है जब मैं प्रकाशन सर्वर पर जाता हूं कि वे फीका बंद कर देते हैं।jQuery फीडइन फीडऑट - आईई 8

बस सोच रहा है कि अगर मुझे कुछ याद आ रहा है तो कोई जल्दी से अपने सिर के ऊपर से मेरी मदद कर सकता है।

यहां gcRotateContent है जो प्रकाशन सर्वर पर है, अगर मैं सिर्फ एक छवि को फेंक देता हूं और बाहर काम करता हूं तो यह काम करता है, किसी कारण से यह इस मार्कअप के साथ काम नहीं करता है।

<div class="gcRotateContent"> 
    <div id="USCFRR2EN" class="gcEmployeeProfile"> 
     <div class="gcEmployeeProfileHeading"> 
     Meet John</div> 
     <div class="gcEmployeeProfileContent"> 
     <div class="gcEmployeeProfileHRPad"> 
     </div> 
     <div class="gcEmployeeProfileHR"> 
     </div> 
     <div class="gcEmployeeProfileHRPad"> 
     </div> 
     <div class="gcEmployeeProfileSLVideo"> 
      <img src="/PublishingImages/Profile_JOHN-190x96.jpg" alt="Portrait of employee John." 
       height="96" width="190"></div> 
     <div class="gcEmployeeProfileName"> 
     </div> 
     <div class="gcEmployeeProfileTitle"> 
      Software Development Lead, Server Performance</div> 
     <div class="gcEmployeeProfileQuote"> 
      “You will find no other company with the sheer breadth of technologies. The things you get to see and learn from other 
      people are amazing.”</div> 
     </div> 
     <div class="gcEmployeeProfileFooter"> 
     </div> 
    </div> 
</div> 

<div class="gcRotate"> 
     <div class="gcRotateContent"> 
     <div style="border: solid 2px black; text-align: center; width: 150px;"> 
      This is first content 
      <img src="http://pix.motivatedphotos.com/2008/6/16/633492359109161542-Skills.jpg" 
       alt="First" /> 
     </div> 
     </div> 
     <div class="gcRotateContent"> 
     <div style="border: solid 2px black; text-align: center; width: 150px"> 
      This is second content 
      <img src="http://www.funnycorner.net/funny-pictures/5010/cheezburger-locats.jpg" 
       alt="Second" /> 
     </div> 
     </div> 
     <div class="gcRotateContent"> 
     <div style="border: solid 2px black; text-align: center; width: 150px"> 
      This is third content 
      <img src="http://icanhascheezburger.files.wordpress.com/2007/06/business.jpg" alt="Third" /> 
     </div> 
     </div> 
    </div> 



    <div> 
     This shouldn't move. 
    </div> 

    <script type="text/javascript"> 
     function fadeContent() { 

     $(".gcRotateContent").first().customFadeOut(500, function() { 
      $(".gcRotateContent:hidden:first").customFadeIn(500) 
     }); 
     $(".gcRotateContent").first().appendTo($(".gcRotateContent").parent()); 
     } 

     $(".gcRotate").height(0); 

     $(".gcRotateContent").each(
     function() { 
      if ($(".gcRotate").height() < $(this).height()) { 
       $(".gcRotate").height($(this).height()); 
      } 
     } 
     ); 

     $(".gcRotateContent").each(function() { 
     $(this).css("display", "none") 
     }); 

     $(".gcRotate").hover(function() { window.clearInterval(timer) }, function() { timer = window.setInterval("fadeContent()", 2000) }); 

     $(".gcRotateContent").first().show(0); 
     var timer = window.setInterval("fadeContent()", 2000); 

     (function($) { 
     $.fn.customFadeIn = function(speed, callback) { 
      $(this).fadeIn(speed, function() { 
       if (jQuery.browser.msie) 
        $(this).get(0).style.removeAttribute('filter'); 
       if (callback != undefined) 
        callback(); 
      }); 
     }; 
     $.fn.customFadeOut = function(speed, callback) { 
      $(this).fadeOut(speed, function() { 
       if (jQuery.browser.msie) 
        $(this).get(0).style.removeAttribute('filter'); 
       if (callback != undefined) 
        callback(); 
      }); 
     }; 
     })(jQuery); 
    </script> 
+2

हमें अपना मार्कअप और स्क्रिप्ट देखें। – Ben

+1

हमें एक उदाहरण दिखाएं और मैं गारंटी देता हूं कि कोई मदद कर सके। – Sam

+0

क्योंकि यह आईई – Eric

उत्तर

6

मैं इसे समझ से बाहर, सीएसएस सेटिंग स्थिति: छवि पर रिश्तेदार, aparently IE8 कि पसंद नहीं है, वहाँ एक समाधान मुझे आश्चर्य है, खोज शुरू होता है।

0

को पृष्ठभूमि चित्र (एक ही आकार के) एक div के साथ अपनी छवि को बदलें और फीका-इन/div आउट।

<div style="background-image:url('paper.gif');height:xxxpx;width:xxxpx"></div> 
+0

मुझे एहसास है कि यह एमएसआईई के बजाय @ द डॉकटाटा कोड के साथ एक समस्या है। आईई 8 में निम्नलिखित का प्रयास करें और देखें कि यह अंदर और बाहर फीका है ... http://www.eideus.com/demoImageFade.html – Sam

+0

मैं gcRotateContent के अंदर किसी भी तत्व को नहीं बदल सकता। – theDawckta

+0

gcRotate सामग्री ......? ठीक है, अब आपके प्रश्न को संपादित करने और कुछ कोड जोड़ने का समय है! –

59

स्पष्ट रूप से एक कामकाज है! इस

<div> 
<img id='myImg' src='http://mydomain.com' style='position:absolute;top:10px;left:5px;filter:inherit;opacity:inherit' /> 
</div> 

मज़े,

ओमर

+0

यह एक आकर्षण की तरह काम करता है! मुझे मेरी साइट पर एक ही समस्या थी। मैं div elems fading था जिसमें छवियों निहित था। IE9 और IE7 के लिए इसे ठीक करने के लिए यह div elems के लिए उपयुक्त आयाम सेट करने के लिए पर्याप्त था। इससे पहले कि divs में 0,0 आयाम थे क्योंकि उनके अंदर की छवियां पूर्ण स्थान पर थीं। लेकिन उसके बाद भी आईई 8 फीका नहीं करना चाहता था, यह सिर्फ पॉप अप हुआ। Divs के अंदर सभी तत्वों के लिए, अस्पष्टता और फ़िल्टर को वारिस करने के लिए सेट करना, तय किया गया है। –

+5

.ie8 * {अस्पष्टता: विरासत; फ़िल्टर: वारिस; } – zznq

+0

यह अस्पष्टता और फीका इन/आउट के लिए एक अच्छा सामान्य कामकाज है। छोटी चेतावनी यह है कि आईई में अन्य वर्कअराउंड (टेक्स्ट-छाया, बॉक्स-छाया समर्थन) में फ़िल्टर का उपयोग किया जाता है। यह उन समाधानों को जटिल करता है यदि वे ऐसे ब्लॉक के भीतर हैं जो गतिशील रूप से फीका/बाहर होना चाहिए। – ricosrealm

1

मैं सिर्फ था:

आप निरपेक्ष/सापेक्ष स्थिति में तत्वों निम्नलिखित सीएसएस विशेषताएं सेट:

opacity:inherit; 
filter:inherit; 

उदा समस्या, और सभी सीएसएस ticks काम नहीं किया था। फेडइन/आउट एफएफ और क्रोम पर काम किया, लेकिन आईई 8 में नहीं, तत्व बिल्कुल दिखाई नहीं दिया। आईई 7 में वे अदृश्य से दृश्यमान हो गए।

तो मेरी समस्या को ठीक करने मैं सिर्फ अन्य ब्राउज़र पर fadein/आउट रखने के लिए और तत्वों IE8 में दिखाई देते हैं बनाना चाहते थे। समाधान कॉलबैक का उपयोग इस तरह किया गया था:

$(".elements").fadeIn("slow",function(){$(this).show()}): 
$(".elements").fadeOut("slow",function(){$(this).hide()}): 

इस तरह मैं हमेशा अंत में परिणाम को बल देता हूं।

1

एक त्वरित और गंदा ठीक लिए (या अगर ऊपर दिए गए सुझाव सिर्फ काम नहीं कर रहे, के रूप में मेरे मामला है) तो आप बस jQuery के fadein/fadeOut दिखाएँ/छिपाएँ साथ बदल सकते हैं। तो html में कार्य करें:

<!--[if IE]> 
<script type="text/javascript src="ieFixes.js"></script> 
<![endif]--> 

और कुछ IE के जावास्क्रिप्ट फ़ाइल में हैक करता है (जैसे ieFixes.js) डाल:

jQuery.fn.fadeIn = function() { 
    this.show(); 
} 

jQuery.fn.fadeOut = function() { 
    this.hide(); 
} 

आप इस थोड़ा tweak करना होगा अगर आप चेनिंग रहे हैं एनिमेट कॉल, आदि