के साथ विफल रहता है मुझे अंतिम 1. jQuery.2 से एक बग मिल रहा है, और मुझे पता चलेगा कि किसी के पास कोई अन्य (अन्य) समाधान है इस मुद्दे।jQuery शो() अंतिम(),() और "अंधा" प्रभाव
मेरी स्क्रिप्ट एक मॉडल (आइटम मॉडल) से कई डीआईवी ब्लॉक (नामित आइटम) बनाती है, अंतिम के बाद वर्तमान जोड़ें और इसे "अंधे" प्रभाव से प्रदर्शित करें।
यहां कोड है लेकिन आप इसे this link पर ऑनलाइन भी जांच सकते हैं।
<div id="item_model" style="display: none;" class="item">MODEL</div>
<button class="addBtn">Add 5 items</button>
<script>
$(".addBtn").click(function() {
for(var i=0; i<5; i++) {
// Clone model
var p = $("#item_model").clone(true, true);
// Modify item
p.removeAttr("id");
p.text("ITEM n°"+(i+1));
// Add item to the DOM
$(".item").last().after(p);
// Show item
$(p).show("blind");
//$(p).show();
}
});
</script>
समस्या यह है: अंतिम और सम्मिलित करें()।
तर्क:
- पहले आइटम अच्छी तरह से प्रदर्शित किया जाता है और उसके प्रभाव हुआ है (या नहीं, एक और बग लेकिन समय समाप्त होने?)
- एक प्रभाव एनीमेशन के दौरान, तत्व कहां प्रतिस्थापित आउटसोर्स किया गया है।
- अगले आइटम डोम से बाहर डाले गए हैं (घटना अगर बाद में() को डीओएम में डालना चाहिए), इसलिए पृष्ठ में नहीं हैं।
यह व्यवहार jQuery से एक त्रुटि है लेकिन मुझे इस समस्या को दूर करना है।
समाधान मुझे पता है:
- कोई असर प्रयोग न करें।
- एक कंटेनर का उपयोग करें और संलग्न करें()।
- अंधे के बजाय धीमे प्रभाव का उपयोग करें। (ए वोल्फ के लिए धन्यवाद)
- डोम में तत्व जोड़ें और बाद में, सभी दिखाएं। (ए वोल्फ के लिए धन्यवाद)
आपके योगदान के लिए सभी को धन्यवाद।
विचित्र रूप से, अगर मैं आपके कोड को जेएसएफडल में डालता हूं तो यह ठीक काम करता है: http://jsfiddle.net/TrueBlueAussie/n2UVp/ –
@TrueBlueAussie अगर आपके पास jQuery UI http://jsfiddle.net/arunpjohny/AN3ft नहीं है/1/ –
@ अरुण पी जॉनी: अच्छी तरह से देखा गया। तो समस्या JQueryUI को शामिल करने के साथ है। कम से कम यह इसे संक्षिप्त करता है :) –