2011-09-05 21 views
6

jQuery का उपयोग करके, यह निर्धारित करने का सबसे आसान तरीका क्या है कि कोई विशेष तत्व दिखाई दे रहा है या नहीं? मेरा मतलब वर्तमान व्यूपोर्ट के भीतर दिखाई नहीं दे रहा है, लेकिन पेज पर।यह निर्धारित करने के लिए कि कोई विशिष्ट DOM तत्व दिखाई दे रहा है या नहीं?

आदर्श रूप से, फ़ंक्शन को false वापस करना चाहिए यदि तत्व या उसके पूर्वजों के पास सीएसएस नियम है जैसे display: none या visibility: hiddenoverflow: hidden के बारे में चिंता करने की आवश्यकता नहीं है।

+2

सही मजाक कर रहे? क्या आपने अभी google/or/SOverflow-search "jquery-element-is-visible-or-not" करने का प्रयास किया है? –

उत्तर

11

is विधि के साथ :visible चयनकर्ता का उपयोग करें।

if($('elementSelector').is(':visible')){ 
    //Element is visible 
} 
2

आप is() विधि का उपयोग कर सकते हैं।

$('#element').is(':visible'); 
2

$('div:visible'); सभी दृश्य divs वापस आ जाएगी।

इसके अलावा, यह jQuery 1.3.2 changelog के इस भाग ध्यान देने योग्य है:

jQuery में एक तत्व 1.3.2 दिखाई दे रहा है अगर इसकी ब्राउज़र-सूचना offsetWidth या offsetHeight 0. से अधिक है इसका मतलब है कि अगर आपके तत्व के सीएसएस प्रदर्शन "कोई नहीं" है, या उसके माता-पिता/पूर्वजों के तत्व का कोई भी प्रदर्शन "कोई नहीं" है, या यदि तत्व की चौड़ाई 0 है और तत्व की ऊंचाई 0 है तो तत्व को छुपाए जाने की सूचना दी जाएगी।

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

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