2010-06-24 10 views
6

मेरे पास एक पृष्ठ है जो एक इनलाइन तत्व fadeIn और fadeOut और jQuery काम नहीं करता है। और फिर जब मैं आईई 7 के ब्राउज़र मोड का उपयोग करने के लिए डेवलपर टूल्स बदलता हूं, तो fadeIn() और fadeOut() प्रभाव दिख रहा है।क्या jQuery के fadeIn() और fadeOut() IE 8 के साथ काम नहीं करते हैं?

+0

मेरे लिए काम करता है। क्या आपका एचटीएमएल मार्कअप मान्य है? यदि आईई नहीं करता है तो चीजें 'आईटी' सोचती हैं, जो आमतौर पर गलत होती है। (मानकों का उपयोग बनाम बनाम) – Aren

उत्तर

6

आईई में एक कार्यान्वयन विवरण है जिसे "हैस्लाउट" कहा जाता है, जो दुख की बात है, अक्सर एपीआई अबास्ट्रक्शन से पहले लीक हो जाती है और इसे सिर पर निपटाया जाना चाहिए ... यह वह लड़ाई है जिसका आप आज सामना करते हैं: इनलाइन तत्वों में आमतौर पर नहीं होगा "लेआउट" और इस प्रकार "फ़िल्टर" के साथ काम नहीं करेगा ... जो jQuery पर आईपी पर अस्पष्टता अनुकरण करने के लिए उपयोग करता है।

यह आईई 8 में नया नहीं है, और आम तौर पर आपको इसके बारे में चिंता करने की ज़रूरत नहीं है क्योंकि यह बिल्कुल इस प्रकार की ब्राउज़र-विशिष्ट पागलपन है कि jQuery का पेपर खत्म करना है ... दरअसल, यही कारण है कि मैं मैं "हैलोआउट" और "फ़िल्टर" का वास्तव में क्या मतलब है, इस बारे में विस्तार से परेशान नहीं हूं - आपको शायद परवाह नहीं है, और आपको यह नहीं करना चाहिए (लेकिन, यदि आप रुचि रखते हैं, तो इसे google ...)

समस्या यह है कि jQuery हैक जो लेआउट को मजबूर करने के लिए हुड के नीचे उपयोग करता है (इसलिए फ़िल्टर काम करता है (इसलिए यह अस्पष्टता अनुकरण कर सकता है (चूंकि आईई इसे कार्यान्वित नहीं करता है)) ... यह IE8 पर काम नहीं करता है। नहीं है बस महान, एह? जिससे display: inline तत्वों display: inline-block तत्व के रूप में व्यवहार किया है, लेकिन विशेषता यह है कि लोगों के लिए ...

ठीक है, कुछ नहीं है कि आप के बारे में क्या कर सकते हैं समर्थन में हैक करने के लिए अपने बग उपयोग कर रहे थे लागू करने के लिए उपेक्षित वे बग तय की। टीम आईई को एक बुरा ईमेल लिखने से आपको थोड़ा बेहतर महसूस हो सकता है, लेकिन वे IE9 पर काम पर कड़ी मेहनत कर रहे हैं, जो इन समस्याओं में से अधिकांश को ठीक करना चाहिए (लकड़ी पर दस्तक देना चाहिए)। इस दौरान, आप बस सभी अपने आप में मैन्युअल रूप से क्या आईई इस्तेमाल किया करने के लिए (थोड़े, sorta, और सबसे निश्चित रूप से गलत तरीके से) करना होगा:

$("myInlineElement").css({display: 'inline-block'}).faceOut(); 

: इनलाइन-ब्लॉक मोड में इनलाइन तत्व के लिए मजबूर ... या बेहतर अभी तक, put it in an IE8-only stylesheet ...

संबंधित मुद्दे