मैं एक "AJAX लोडर संवाद" दिखाने की कोशिश कर रहा हूं जो इंटरफ़ेस (मोडल) को अवरुद्ध करता है लेकिन इसमें कोई ओवरले नहीं है।ओवरले के बिना JQuery मॉडल संवाद
$("<div></div>").dialog({
modal: true,
dialogClass: "noOverlayDialog",
autoOpen: false, //opened later
...
});
मैं ओवरले को छिपाने के लिए निम्नलिखित सीएसएस कहा::
.ui-dialog.noOverlayDialog + .ui-widget-overlay { opacity: 0 !important; }
हालांकि, जब मैं dialog("open")
ओवरले चमक फोन तो गायब हो जाता है, जैसे कि
यह मैं कैसे संवाद प्रारंभ है मैंने इसे जावास्क्रिप्ट का उपयोग करके छुपाया था। display:none;
या visibility:hidden
का उपयोग कर वही प्रभाव।
यह सुनिश्चित करने के लिए कि यह सीएसएस ओवरले को हटा रहा है और कुछ और नहीं, मैंने सीएसएस की रेखा को हटा दिया और निश्चित रूप से पर्याप्त ओवरले हमेशा दिखाई दे रहा था।
ऐसा क्यों हो रहा है? मैंने सोचा कि स्थैतिक सीएसएस में इस प्रकार का व्यवहार नहीं होना चाहिए और ओवरले को फ्लैश के बिना तुरंत छुपाया जाना चाहिए।
यदि मुझे सहज ज्ञान युक्त समाधान नहीं मिल रहा है, तो शायद एक विकल्प ओवरले को एक साथ रोकने के लिए मोडल विकल्प सेट करना होगा, और फिर मोडल व्यवहार प्राप्त करने के लिए कोड लिखें। किसी भी तरह से, मुझे एक कामकाजी समाधान की ज़रूरत है।
मुझे लगता है कि आपका सबसे अच्छा विकल्प jQueryUI स्टाइल शीट में घोषित वास्तविक सीएसएस गुणों को ओवरराइड करना हो सकता है जो ओवरले पृष्ठभूमि करता है। जब मैं ओवरराइड कहता हूं, मेरा मतलब है कि सीएसएस को स्वयं नहीं बदला जाए लेकिन अपने काम करने वाले एचटीएमएल में गुण जोड़ें और उन्हें दोबारा दोहराएं। –
क्या मैंने ऐसा नहीं किया है? बात यह है कि मुझे वैश्विक होने की आवश्यकता नहीं है, बल्कि केवल विशिष्ट संवादों पर लागू होती है जिनमें कक्षा 'नोओवरलेडियलॉग' है। यदि यह आपको सुझाव नहीं बदलता है, तो कृपया उदाहरण के साथ उत्तर दें (टिप्पणी नहीं) और मैं इसे आजमाउंगा। धन्यवाद – parliament
नहीं क्योंकि आप वास्तविक कक्षाओं को ओवरराइड करने के बजाय फिर से परिभाषित कर रहे हैं। –