jQuery 1.6+ içinde step
işlevini nasıl genişletebilirim?jQuery'nin adım adım işlevini genişletme
Her animasyonlu adımda custom-event
'u tetiklemek için özel bir olay yaptım. Ancak jQuery'nin animasyon yöntemi değiştirildiğinden veya adım işlevinin daha uzun bir süre uzatılmayacağı ($.fx.step
boş bir object
ile sonuçlandığı için) bunu kendi nesnelerinizle genişletmek imkansızdır.
(function($){
var oldStep = $.fx.step._default;
$.event.special.animating = { };
$.fx.step._default = function(fx) {
$(fx.elem).trigger('animating', fx);
oldStep.apply(this, arguments);
};
}(jQuery));
$('#foo').animate({width: 200});
$('#foo').bind('animating', function(e, fx){
console.log(fx);
});
Daha yeni jQuery sürümleriyle çalışmak için nasıl bir fikir edinilir?
İşlev şimdi "$ .Tween.propHooks._default.set" adresinde görünüyor. Ama ne bu ne de eskisi belgelenmemiş, bu yüzden aynı davranacak mı emin değilim. – pimvdb
@pimvdb [Şimdilik farkettim] (http://stackoverflow.com/questions/14468421/has-jquery-an-animating-event), bunun eski işlev için * değiştirici olduğunu bilmiyordu. Teşekkürler, şu ana kadar gayet iyi çalışıyor ... (jQuery'de [güncellemeler blogu] (http://jquery.org/updates/page/9/) zaten yorumlanacak şekilde işaretlenmiştir). – yckart