2012-08-24 5 views
5

सरल प्रश्न: jQuery कैसे पता चलता है कि फीडइन का उपयोग करते समय तत्व को किस तत्व का उपयोग करना चाहिए? छवियों इनलाइन उपयोग कर रहे हैं, divs ब्लॉक का उपयोग कर रहे हैं, आदिjQuery FadeIn कैसे उपयोग किए गए डिस्प्ले मोड को जानता है?

-

मैं क्या मतलब है, यह किसी भी तत्व है कि मैं fadein, तब भी जब मैं display:noneशुरू में मेरी सीएसएस में सेट के लिए उचित प्रदर्शन मोड का उपयोग करने के लिए प्रकट होता है वह यह है कि

मैंने गिटहब पर jQuery स्रोत कोड में देखा, लेकिन मैं जो खोज रहा था उसे ढूंढ नहीं पाया।

कारण मैं पूछता हूं क्योंकि मैं फीड का उपयोग करके खुद को थोड़ा प्लगइन बना रहा हूं (लेकिन एनिमेट के साथ, क्योंकि एनीमेशन की आवश्यकता वाले 1 से अधिक संपत्ति हैं)।

उत्तर

6

यह $.data का उपयोग करता है यह स्टोर करने के लिए:

console.log($._data(elem, "olddisplay")); 

अंडरस्कोर मतलब है कि यह डेटा कि सामान्य रूप से $.data या $.fn.data के माध्यम से उपलब्ध नहीं है पहुँच सकते हैं। असल में यह केवल आंतरिक उपयोग के लिए है और आपको इसे छूना नहीं चाहिए।

तत्व सीएसएस के माध्यम से display:none के लिए सेट है, और आप में यह नहीं हो पाती हैं, तो jQuery अभी भी यह inline आदि बनाने के लिए इस मामले में जानता है, यह समारोह

// Try to determine the default display value of an element 
function css_defaultDisplay(nodeName) { 

जो एक के लिए "inline" देना होगा का उपयोग करता है nodeName === "span"

+0

यह डेटा कब असाइन किया जा रहा है? – Jeff

+0

@ जेफ जब आप '.hide()' – Esailija

+1

पर कॉल करते हैं तो मैं आमतौर पर डिस्प्ले सेट करता हूं: सीएसएस में बाद में, सभी तत्वों पर फीका नहीं है, और यह अभी भी काम करता प्रतीत होता है? – Jeff