2010-10-31 20 views
12

विस्तार समाप्त होने के बाद कक्षा को 'सेलेसीओनाडो' जोड़ने के लिए प्रत्येक बार div विस्तार करना चाहता हूं। जब संकुचन किया जाता है (स्लाइडअप भाग) मैं इस वर्ग को हटाना चाहता हूं।jquery - स्लाइड टॉगल पर कक्षा को कैसे जोड़ें/निकालें?

क्या मुझे यहां कोई सहायता मिल सकती है?

$('#btCategoriaA').click(function() 
{ 
    $('#listaCategoriaA').slideToggle('slow', function() { 
    $('#btCategoriaA').addClass('selecionado'); 
    }); 
}); 

अग्रिम धन्यवाद, सदस्य

उत्तर

31

आप वर्ग करता है, तो तत्व .is():visible एनीमेशन के बाद, इस तरह के आधार पर .toggleClass() का उपयोग कर टॉगल कर सकते हैं:

$('#btCategoriaA').click(function() { 
    $('#listaCategoriaA').slideToggle('slow', function() { 
    $('#btCategoriaA').toggleClass('selecionado', $(this).is(':visible')); 
    }); 
}); 
+1

आप वास्तव में पर रॉक js डॉन तुम नहीं हो : पी बहुत बहुत धन्यवाद। : डी – MEM

+0

एक और बात कृपया, मैं इसे सीएसएस राज्यों का उपयोग करके कर रहा हूं जैसे: होवर। बात यह है कि, उपयोगकर्ता को क्लिक करने के बाद, मुझे होवर को अक्षम करने की आवश्यकता होती है, अन्यथा, प्रभाव काफी अजीब होगा, क्योंकि एक बार जब यह क्लिक करता है तो राज्य बदलना चाहिए, लेकिन चूंकि यह आच्छादित है, ऐसा नहीं होता है। : एस क्या अक्षम करने का कोई तरीका है: उपयोगकर्ता क्लिक या कुछ करने के बाद होवर लागू होता है? – MEM

+0

@MEM - आपके पास 'hover 'हो सकता है' a.Off: होवर' और' selecionado' जोड़ते समय उस 'ऑफ' क्लास को हटा दें। –

संबंधित मुद्दे