मैं निम्नलिखित कोड है:jQuery .animate() सेट प्रदर्शित करता है: कोई नहीं, कैसे बचें?
HTML:
<div id="clickme">
Click me :-)
</div>
<div id="info" style="background:red; width:100%; height:100px; margin-bottom:-100px; z-index:20; position:absolute; bottom:0px;">
Stay, damn!
</div>
जावास्क्रिप्ट:
$('#clickme').click(function() {
$('#info').animate({
marginBottom: 'toggle'
},{
duration:500
});
});
यह भी उपलब्ध है पर http://jsfiddle.net/DxnQJ/
जाहिर है, मैं प्रकट करने के लिए #info DIV
चाहते/गायब हो जाते हैं जब भी #clickme DIV
क्लिक किया गया है। यह इरादे के रूप में काम कर रहा है, सिवाय इसके कि #info DIV
एनीमेशन के बाद गायब हो गया है क्योंकि jQuery ने इसकी सीएसएस display
संपत्ति none
पर सेट की है।
मैं अपने DIV
को छिपाने से रोकने के लिए jQuery को कैसे बता सकता हूं?
jQuery स्रोत की जांच करना, ऐसा लगता है कि 'टॉगल' उन प्रभावों के लिए डिज़ाइन किया गया था जो पूरी तरह से दिखाए गए या छुपाए गए हैं (जैसे ऊंचाई, चौड़ाई और अस्पष्टता)। क्या होता है कि 'मुझे क्लिक करें :-)' पर क्लिक करना और पहली बार छिपी हुई चीज़ को एनिमेट करना एक ही प्रभाव है जैसे कि आपके पास 'मार्जिनबॉटम:' छुपा 'था। तो जब यह एनिमेटिंग किया जाता है, 'jQuery (elem) .hide();' आपके तत्व पर कॉल किया जाता है। – zkhr