2012-10-01 19 views
5

में डिफ़ॉल्ट टैग छुपाएं डिफ़ॉल्ट व्यवहार के अनुसार, alt विशेषता छवि प्रतिपादन से पहले पहली बार प्रस्तुत की जाती है। मैं एक ग्रिड में 25 छवियों को प्रदर्शित कर रहा हूं, इसलिए यह थोड़ा अजीब लग रहा है क्योंकि सभी alt गुण पहले प्रदर्शित होते हैं।फ़ायरफ़ॉक्स

क्या फ़ायरफ़ॉक्स में alt विशेषताएँ छिपाना संभव है?

नोट:alt विशेषताओं में मेरे मामले में गतिशील नाम होते हैं।

उत्तर

12

तरह से प्रदर्शित किया जा रहा से alt विशेषता मान को रोकने के लिए विशेषता को निकालने के लिए है।

alt विशेषता (टैग नहीं) का अर्थ यह है कि यह छवि के लिए एक विकल्प, छवि के लिए एक विकल्प निर्दिष्ट करता है, जहां छवि प्रदर्शित नहीं होती है। इसलिए यदि आप इसे तब तक छिपाना चाहते हैं जब छवि अभी तक लोड नहीं हुई है, तो आप उस व्यवहार के लिए पूछ रहे हैं जो विशेषता के अर्थ के विपरीत है।

हालांकि आप फ़ायरफ़ॉक्स पर alt टेक्स्ट अदृश्य (सामान्य सीएसएस कैविट्स के साथ) बना सकते हैं उदा।

img { background: white; color: white; } 

सीएसएस में।इसका तात्पर्य यह है कि alt ग्रंथ भी अदृश्य हैं यदि ब्राउज़र कभी छवि नहीं प्राप्त करता है, या ब्राउज़र को छवियों को प्रदर्शित न करने के लिए कॉन्फ़िगर किया गया है।

+1

बहुत धन्यवाद !! इसने मेरी समस्या हल कर दी है। – neeraj

0

क्या आप गतिशील नाम शीर्षक विशेषता में डाल सकते हैं? आप एक काला पृष्ठभूमि या काले पृष्ठभूमि छवि का प्रयास कर सकते हैं; शायद फ़ायरफ़ॉक्स अभी भी एक ब्लैक टेक्स्ट रंग का उपयोग करता है। शायद img { color: white; } करेगा?

+0

मैंने alt टैग में गतिशील नाम रखा है शीर्षक के रूप में अच्छी तरह से। मैंने रंग रखने की भी कोशिश की: छवियों के लिए इनलाइन शैली के रूप में सफेद लेकिन यह काम नहीं किया। मैं वर्डप्रेस wp-type प्लगइन का उपयोग कर रहा हूं और इनलाइन शैली को लागू करने के बाद, यहां तक ​​कि एक भी छवि प्रस्तुत नहीं की गई है। – neeraj

0

आप थोड़ा अतिरिक्त जोड़ने कोई आपत्ति नहीं है, यहाँ यह है:

<img src = "283414_2114217089554_728204_nn.jpg" onload="this.setAttribute('alt','this is the alt of my image');" /> 

आशा में मदद करता है ... :))

+0

मुझे मौजूदा alt टैग को छिपाने की जरूरत है, इसे आपके उदाहरण में वर्णित किसी अन्य चीज़ के साथ नहीं बदला जा रहा है। – neeraj

0

बल्कि alt समारोह के बारे में चिंता करने के बजाय, आप दे सकते हैं आपकी सभी छवियां एक आम वर्ग है, image-to-show कहें और इस छवि पर पूरी तरह से लोड होने वाला लोडिंग डिव बनाएं। तो, जब पृष्ठ लोड हो तो आप केवल लोड हो रहा है div, एक लोड हो रहा है gif साथ, कुछ इस तरह बताते हैं:

// show loading image 
$('.loader').show(); 

एक बार छवि भरी हुई है, तो आप div छिपाने के लिए और छवि दिखा सकते हैं।

// main image loaded ? 
$('.image-to-show').load(function(){ 
    // hide/remove the loading image 
    $('.loader').hide(); 
}); 

आप विशिष्ट छवि आईडी का उपयोग कर इस कोड को और बढ़ा सकते हैं। एक और, क्लीनर यह करने के लिए जिस तरह से छवियों कि लोड कर रहे हैं के लिए सच को data-loading स्थापित करने के लिए किया जाएगा और एक बार छवियों लोड किए गए हैं, $('.image-to-show').data('loading', false)

इस से निपटने के कई तरीके हैं, यदि आप अधिक स्पष्टीकरण चाहिए मुझे पता है की स्थापना की।

+0

दुर्भाग्य से मैं ऐसा नहीं कर सकता क्योंकि छवियों को एक प्लगइन (वर्डप्रेस) द्वारा प्रस्तुत किया जा रहा है। तो मैं प्लगइन की मूल फाइलों में कोई बदलाव नहीं कर सकता। मैं सिर्फ alt टैग छुपाने के लिए एक समाधान की तलाश में हूं। – neeraj

+0

अच्छा, वर्डप्रेस जैसे सीएमएस के साथ काम करने का सबसे अच्छा हिस्सा यह है कि आपके पास जिस तरह से काम करना है, उसे संशोधित करने के लिए आपके पास लचीलापन है। किसी भी तरह, प्लगइन आपकी छवियों के लिए कुछ मार्कअप बनाएगा। छवियों के लिए आईडी या कक्षा को अपने चयनकर्ता के रूप में प्राप्त करें, एक चर में 'alt' विशेषता प्राप्त करें, इसे साफ करें और छवि लोड पर इसे वापस डोम में लिखें। बदसूरत, लेकिन कार्यात्मक: डी – rizwaniqbal

0

मैं इस सीएसएस, जो वैकल्पिक पाठ के साथ सभी छवियों को छुपा देगा जोड़कर शुरुआत करते हैं, (नहीं display: none क्योंकि हम इसे पूर्ववत करने चाहते हैं और हम क्या करने के लिए पूर्ववत करने के लिए पता नहीं होगा):

img[alt] { 
    width: 0; 
    height: 0; 
} 

और तो यह दिखा एक बार यह सब भरी हुई है (यह jQuery का उपयोग करती):

$(document).ready(function() { 
    $('img[alt]').on('load', function() { 
     this.style.width = 'auto'; 
     this.style.height = 'auto'; 
    }); 
}); 
14

सभी अन्य तरीकों यहाँ की कोशिश के बाद, मैंने पाया इस विधि सबसे अच्छा जो पाठ पारदर्शी बनाता छवि लोड जब तक काम करता है:

.yourClass img { 
    color: transparent; 
} 
0

को निर्धारित करने के अतिरिक्त:

img { 
    background: white; 
    color: white; 
} 

मुझे पसंद है फ़ायरफ़ॉक्स की डिफ़ॉल्ट छवि व्यवहार को अक्षम करने के लिए:

img:-moz-loading { 
    visibility: hidden; 
}