Jquery .show () छिपा की दृश्यता के साथ एक div खुलासा नहीं


81

बेसिक jQuery प्रश्न:

मैं एक प्रकट करने की कोशिश कर रहा हूं div कि jQuery के उपयोग से छिपी हुई है। लेकिन काफी नहीं मिल रहा है

मैंने यहाँ एक JSField बनाया है: http://jsfiddle.net/VwjxJ/

मूल रूप से, मैं style="visibility: hidden;"इसके बजाय उपयोग करना चाहता हूंstyle="display: none;" करना चाहता हूं क्योंकि मैं चाहता हूं कि छिपे हुए तत्व का स्थान बनाए रखा जाए

का उपयोग करने की कोशिश की है show(), fadeIn()आदि , लेकिन न तो काम (वे के लिए करते हैं style="display: none;")

मैं क्या गलत कर रहा हूं?


6
अपने jsfiddle पर फ्रेमवर्क को jQuery में बदलने का प्रयास करें।
अ'र

1
@ a'r: समस्या अभी भी बनी हुई है । यहाँ एक सही संस्करण है: jsfiddle.net/fkling/9Z6nt/19
फेलिक्स क्लिंग

अपने उदाहरण में आपने अपनी परियोजना के लिए सही लाइब्रेरी नहीं बनाई, "फ्रेमवर्क चुनें" में आपको "jQuery" चुनना चाहिए।
megas

5
डाउनवोट्स का सामना करने के लिए +1 ... लोगों को समस्या को समझने के लिए अधिक समय बिताना चाहिए ...
फेलिक्स क्लिंग

5
मुझे लगता है कि यह इसलिए था क्योंकि अन्य लोग सोचते थे कि आप सही पुस्तकालय का चयन करना भूल गए हैं (और इसे बदलने के बाद, यह काम करने लगा)। लेकिन उन्होंने आपके सवाल और कोड को ध्यान से नहीं पढ़ा। पहली टिप्पणी में 5 और बदलाव क्यों होंगे? हां, शायद आपका jsfiddle सही नहीं था, लेकिन यह कोई कारण नहीं है जो इमो को डाउनवोट करता है। समस्या इसके बिना भी स्पष्ट थी (और इसे ठीक करना आसान था)।
फेलिक्स क्लिंग

जवाबों:


123

अगर आपने इसे छिपाया है visibility:hiddenतो आप इसे jQuery के साथ दिखा सकते हैं

$(".Deposit").css('visibility', 'visible');

और बेला में आप jQuery याद कर रहे हैं। यहाँ एक डेमो है: http://jsfiddle.net/9Z6nt/20/


document.readyइसकी आवश्यकता नही है। कोड चलाया जाता है onLoad(चौखटे के ऊपर चयन)।
फेलिक्स क्लिंग

ओह, ध्यान नहीं दिया, धन्यवाद। लेकिन वास्तविक कोड में सहायक होगा यदि JS को DOM तैयार होने से पहले बुलाया जाता है।
मुहम्मद उस्मान

1
@ मैं यह करता हूँ। इसके समाधान के लिए नहीं visibility:hidden, मैंने केवल उसका निर्णय लिया।
मुहम्मद उस्मान

11

JQuery के दस्तावेज़ के अनुसार .show()"कॉल करने के लिए लगभग बराबर है .css('display', 'block'), सिवाय इसके कि प्रदर्शन संपत्ति जो कुछ भी शुरू में बहाल की गई थी।" इसके बजाय शैली को स्पष्ट रूप से सेट करें। आप एक CSS क्लास का उपयोग कर सकते हैं

.hidden{
    visibility: hidden;
}
.shown{
    visibility: visible;
}

और सेट का उपयोग कर रहा है

$("#yourdiv").removeClass("hidden").addClass("shown");

$("#yourdiv").toggleClass('hidden'); "दिखाया गया" वर्ग के लिए कोई ज़रूरत नहीं है
अलेक्जेंडर बर्ड

1
यह बिलकुल नहीं है। यह सीएसएस के अन्य हिस्सों में संभावित अधिक सामान्य ओवरराइड पर निर्भर करता है, लेकिन आमतौर पर आप शायद उसी के साथ दूर हो जाते हैं, हाँ।
पॉलीमोर्फिक्स

7

यदि आप चाहते हैं कि छिपे हुए तत्व का स्थान बना रहे, तो अस्पष्टता का उपयोग करें।

अर्थात:

$('div').fadeTo(500,1) //show
$('div').fadeTo(500,0) //hide

उदाहरण के लिए:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div style='opacity:0'>
  Test opacity
</div>


<button onclick="$('div').fadeTo(500,1);">Show</button>
<button onclick="$('div').fadeTo(500,0);">Hide</button>


3

अरे यार आपकी फीलिंग काम कर रही है फिडल पर सिर्फ फ्रेमवर्क jQuery चुनें। यदि इसकी दृश्यता छिपी है तो सीएसएस दृश्यता संपत्ति को दृश्यमान में बदलें।

(".Deposit").css('visibility','visible');



हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.