मैं इस बिंदु पर एक लाइव उदाहरण नहीं दिखा सकता, लेकिन मुझे नहीं लगता कि स्लाइड टॉगल को दो बार कैसे बुलाया जा रहा है। इसे एक लिंक के क्लिक पर बुलाया जाता है।स्लाइड एक बार में दो बार निष्पादित करने के लिए टॉगल
यहाँ:
// initialize the jquery code
$(function(){
$('div.slideToggle a').click(function(){
$(this).parent().siblings('div.remaining-comments').slideToggle('slow',function(){ //'this' becomes the remaining-comments.
var hidden = $(this).siblings('div.slideToggle').find('input').val();
if($(this).siblings('div.slideToggle').find('a').html().substr(0,4) == 'Show'){
$(this).siblings('div.slideToggle').find('a').html('Hide comments');
}
else {
$(this).siblings('div.slideToggle').find('a').html(hidden);
}
});
});
});
यह प्रदर्शित करने और एक ब्लॉग पृष्ठ पर अतिरिक्त टिप्पणियों को छुपाने के लिए है। हालांकि, यह एक क्लिक में प्रदर्शित हो रहा है और फिर छुपा रहा है। मैंने 'if' और 'else' दोनों में एक चेतावनी डाली है और दोनों दिखाई देते हैं, तो इसे दो बार कैसे बुलाया जाता है?
स्पष्ट रूप से जब लिंक में 'शो' टेक्स्ट होता है तो यह छुपा div प्रकट करता है, और जब फिर से क्लिक किया जाता है तो उसे 'शो' नहीं मिलेगा और इसलिए div को छुपाएगा। मजाकिया बात यह है कि यह पूरी तरह से काम कर रहा था। यह कंपनी इंट्रानेट पर है इसलिए मुझे लगता है कि शायद कुछ और इसे प्रभावित कर सकता है, लेकिन मैं वास्तव में नहीं देखता कि कैसे।
यह सबसे अच्छा समाधान नहीं है ... समस्या का इलाज नहीं लक्षण, अगर यह दो बार चलाया जा रहा है, * क्यों *? सभी 'तैयार' हैंडलर कोड को दो बार चलाने का कोई कारण नहीं है, यह बहुत अक्षम है। इसके अलावा यदि अन्य 'क्लिक' हैंडलर उस तत्व से बंधे हैं तो क्या होगा? –
मुझे लगता है कि इसे करना होगा। पहले से ही एक से अधिक बार बुलाया जा रहा है। हमारे पृष्ठ विभिन्न कोड स्निपेट के टन के समामेलन हैं। इसलिए पुन: प्रयोज्य कार्यों को अलग-अलग कॉलिंग में रखा जाता है। पहले से ही। अविश्वास ने मेरे लिए चाल की, धन्यवाद। –
मुझे पता है कि निक, लेकिन मुझे नहीं पता कि उसका तैयार कथन दो बार क्यों चलाया गया था, इसलिए मैं इसके लिए संभावित फिक्स की दिशा में संकेत नहीं दे सका। हालांकि मुझे यह जोड़ना चाहिए था कि यह एक फिक्स प्रति के बजाय एक समाधान था। – Sander