घटनाक्रम इस छोटा कर सकते हैं अच्छे हैं लेकिन उपस्थिति के लिए कोई मूल घटना है, क्योंकि, जब एक घटनाओं को जानने की आवश्यकता होती है आइटम जोड़ा जाता है ताकि ईवेंट मैन्युअल रूप से ट्रिगर किया जा सके। आप कुछ की उपस्थिति के लिए परीक्षण करने के लिए मतदान का उपयोग कर सकते हैं और जब ऐसा प्रतीत होता है तो कोई कार्रवाई कर सकता है। यह आपके नियंत्रण के बाहर जोड़े गए सामग्री के लिए बहुत अच्छा काम करता है, जैसे कि उपयोगकर्ता इनपुट, AJAX, या अन्य प्रोग्राम से।
setInterval(function() {
$('.my-element-class:not(.appeared)')
.addClass('appeared')
.each(function() {
console.log("here I am!")
});
}, 250);
इस वर्ग के नाम से एक तत्व की उपस्थिति (या किसी अन्य चयनकर्ता मापदंड आपूर्ति) के लिए 4 बार प्रत्येक दूसरे की जाँच करेगा और जब कोई नया आइटम प्रकट होता है कोड चलाते हैं। एक बार आइटम को देखा जाने के बाद। उस आवृत्ति को दोबारा पता लगाने से रोकने के लिए जोड़ा गया वर्ग जोड़ा जाता है। यदि आप केवल एक उपस्थिति के लिए परीक्षण करना चाहते हैं तो आप पहचान के बाद मतदान को सरल बना सकते हैं और मतदान बंद कर सकते हैं।
var testAppearTmr = setInterval(function() {
if ($('.my-element-class').length) {
clearInterval(testAppearTmr);
console.log("here I am!")
}
}, 250);
jQuery appear प्लगइन इन तकनीकों के आसपास बनाया गया और एक बहुत अधिक विकल्प हैं, यदि आइटम दृश्य क्षेत्र में है के लिए परीक्षण की तरह है, लेकिन अगर तुम सब करना चाहते हैं कुछ मदों के लिए परीक्षा है जोड़ा जा रहा है डोम के लिए उपरोक्त कोड प्लगइन की तुलना में बहुत तेज है।
स्रोत
2015-07-14 17:05:05
'जब यह प्रकट होता है' आप कैसे परिभाषित करते हैं? यानी जब यह डोम में लोड हो गया है, या जब इसे किसी अन्य jQuery कोड द्वारा दृश्यमान किया गया है? – BenM
या जब तत्व स्वयं दिखाई देता है, लेकिन व्यूपोर्ट में नहीं, और उपयोगकर्ता इसे स्क्रॉल करता है? – Tommi
क्षमा करें, मेरा मतलब था कि इसे पूरी तरह से डीओएम –