2013-02-11 13 views
11

मेरे पास यह छोटी प्लगइन है जो एक तत्व को .blink() को कॉल करने के तीन बार पल्सेट करने का कारण बनती है। मैं इसे एलआई तत्व पर काम करने की कोशिश कर रहा हूं, इसे खींचकर खींच लिया गया है और jQuery के माध्यम से गिरा दिया गया है। लेकिन यह इस संदर्भ में काम नहीं कर रहा है।jQuery सॉर्ट करने योग्य() के बाद कस्टम फ़ंक्शन कॉल करें;

$(function() { 
$("#sortable").sortable().blink("update-value", 3, 350); 
$("#sortable").disableSelection(); 
}); 

झपकी कोड

$.fn.blink = function (cls, times, delay) { 
var $self = this.removeClass(cls); 
clearTimeout($.fn.blink.handler); 
! function animate(times) { 
    if (times) { 
     $self.toggleClass(cls); 
     $.fn.blink.handler = setTimeout(function() { 
      animate(times - 1); 
     }, delay); 
    } 
}(times * 2); 
return this; 
}; 

उत्तर

35

आप jQueryUI sortable प्लगइन का उपयोग कर रहे हैं, और आप एक निमिष तत्व यह है कि घसीटा गया है और गिरा (क्रमबद्ध) बनाना चाहते हैं, तो आप का उपयोग करना चाहिए हो सकता है कॉलबैक कि पहले से ही sortable एपीआई में उपलब्ध हैं:

जब आप कॉन्फ़िगर अपने sortable, आप परिवर्तन घटना के लिए एक कॉलबैक दे सकते हैं:

$(".selector").sortable({ 
    change: function(event, ui) {} 
}); 

एपीआई कहते हैं: "इस घटना छँटाई के दौरान शुरू हो रहा है, लेकिन केवल जब डोम स्थिति बदल गया है"

तुम भी अद्यतन घटना के लिए एक कॉलबैक दे सकते हैं:

$(".selector").sortable({ 
    update: function(event, ui) {} 
}); 

एपीआई कहते हैं: "यह ईवेंट ट्रिगर होता है जब उपयोगकर्ता सॉर्टिंग बंद कर देता है और डीओएम स्थिति बदल जाती है "

अपने मामले में, आपको अपडेट कॉलबैक का उपयोग करना चाहिए और ब्लिंक विधि को अपने तत्व पर कॉल करना चाहिए।

नोट: तत्व खींचें और गिरा ui वस्तु में उपलब्ध होना चाहिए, एक आकर्षण की तरह ui

+0

कार्यों की सामग्री की जांच करने के लिए एक console.debug उपयोग करते हैं, अच्छी तरह से समझाया – Timo