2010-11-09 22 views
7

निम्नलिखित स्निपेट पर विचार करें। अगर मैं .remove() आइटम नहीं करता, तो कामकाजी हाइलाइट करें।jQuery उजागर प्रभाव()

मैं पहले कैसे हाइलाइट कर सकता हूं, फिर तत्व को हटा सकता हूं?

+2

यहां देखें: http://stackoverflow.com/questions/510761/jquery-delete-dom-element-after-fading-out – mamoo

उत्तर

16

आप effect और fadeOut की कॉलबैक कार्यक्षमता का उपयोग कर सकते हैं कार्यों ऐसा करने के लिए क़तार में की जरूरत है:

_item.effect('highlight', {}, 100, function(){ 
    $(this).fadeOut('fast', function(){ 
     $(this).remove(); 
    }); 
}); 

यह कहते हैं, " _item पर प्रकाश डालें। जब यह समाप्त हो जाए, तो इसे खत्म कर दें। जब यह समाप्त हो जाए, तो इसे हटा दें। "

+0

विस्तृत स्पष्टीकरण के लिए धन्यवाद। – fabrik

+0

आपको '.effect() 'पर कॉलबैक की आवश्यकता नहीं है। '.fadeOut() 'स्वचालित रूप से' .effect() 'के बाद चलाने के लिए कतारबद्ध किया जाएगा। – user113716

+0

@patrick स्पष्टीकरण के लिए धन्यवाद - मैं कभी-कभी jQuery कतार द्वारा भ्रमित हो जाता हूं ... – lonesomeday

0

आप जब पहली कार्रवाई समाप्त हो गया है .remove()

_item.queue(function() { $(this).remove(); }); 
5

यो fadeOut पर एक कॉलबैक आवंटित करने के लिए सक्षम हो ushould:

$('.remove_item').click(function(){ 
    if(confirm('Biztosan törölhetem a terméket a kosárból?')) 
    { 
     $(this).closest('.cart_item').fadeOut(500, function() { $(this).remove(); }); 
    } 
}); 

आशा है कि यह मदद करता है।

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