Benim vanilla JS komut dosyalarından biri için jQuery eklentisi yapma konusunda yardıma ihtiyacım var, this here geçerli jQuery eklentisi, ama sonraki sürüm daha fazla yöntemle çalışır ve bunları bir şekilde ele almam gerekir. Javascript: object [method]() çalışmıyor ya da bir jQuery eklentisi için basit bir Javascript kodu nasıl kurabilirim?
Şu anda üzerinde çalıştığım bu(function($) {
var t;
$.fn.KUTE = function(method, start, end, ops) { // method can be Animate(), fromTo(), to(), stop(), start(), chain(), pause(), stop(), etc
return this.each(function(){
if (method === 'to') {
t = new KUTE[method](this, null, end, ops);
} else if (method === 'fromTo' || method === 'Animate') {
t = new KUTE[method](this, start, end, ops);
}
if (t !== undefined && typeof t[method] === 'function') {
console.log(t) // this shows proper object
t[method]() // this doesn't work
}
});
};
})(jQuery);
Neden t[method]()
çalışmıyor ve bunu çalışmasını nasıl sağlayabilirsiniz?
GÜNCELLEME: Bu kodun işler üzerinde nasıl çalıştığına dair bazı örnek kodları ekliyorum. Temelde ben
var tween = $(div).KUTE('to', { left: tl }, { easing: easing, duration: 1000 });
Sonra
stop()
, onu ve diğer yöntemlerle bunu
start()
gereken bir ara nesne oluşturmak.
$(tween).KUTE('start'); // this should basically be it.
Şimdi, call()
ve apply()
gibi bazı JavaScript şeyler okuyordum ve ben tür çalışması için bu gerekli olabilir düşünüyordum, ama buna rağmen t[method].call(t) // where t is "this"
yüzden çalışmıyor. Umarım problemimi belirtmek için doğru yazarım, lütfen yanlış bir şey varsa beni düzeltin.
Çok teşekkürler.
Sorunun olduğundan emin değilim, ancak sorun satırında bazı noktalı virgülleri kaçırıyorsunuz. Onları tamir etmeyi dene. – Katana314
@ Katana314 Güzel ASI karşıtıyken, bu satırlarda hataya neden olan hiçbir şey yok. –
Ne demek "çalışmıyor?" Hangi hatayı alıyorsun? – ssube