TypeError: p.easing [this.easing] bir işlev değil


96

JQuery ile bir div öğesi göstermeye çalışırken şu hatayı aldım:

[23:50:35.971] TypeError: p.easing[this.easing] is not a function @ file:///D:/html5%20puzzle/jquery.js:2

İlgili işlev şudur:

function showWithAnimation(){                  
  console.log('animation called');
  $('#popup').show();
  $("#popup").css({"top": "30%", "left": "30%"})
             .animate({top:(($(window).height()/2)-($('#popup')
             .outerHeight()/2))-70}, 1000, 'easeOutBounce')
             .show();
}

İşlev, div'i bir sıçrama animasyonuyla göstermekten sorumludur, ancak div gösterilir ancak sıçrama efekti yoktur.

DÜZENLE:

Bir CDN'den jQuery ve jQueryUI kitaplıklarını şu şekilde ekliyorum (Sırayla):

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
<script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js'>
</script>

Yanıtlar:


142

Genişletilmiş hareket hızı seçenekleri için jQueryUI eklemeniz gerekir.

Sadece indirmeye yumuşatmayı veya en azından sadece temel kitaplığı artı yumuşatmayı dahil etme seçeneği olabileceğini düşünüyorum.


10
Bu dosyayı bir CDN'den ekliyorum: <script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js'></script> Bu mu? Yoksa başka bir dosya eklemeli miyim?
Malloc

1
Evet yaptım, ama her zaman aynı sorunu
yaşadım

2
Oh düzelttim, hem jQuery-min hem de jQuery'yi aynı dosyaya ekledim, bu benim hatamdı.
Yardımınız için teşekkürler

3
ne demek istiyorsun? nasıl düzelttin
max4ever

1
Evet, hala aynı hatayı alıyorum, ancak yalnızca bir jquery kaynak dosyası ekledim.
Costa

18

Özel bir jQuery UI yapısına sahip olanlar için (örn. Bower), içinde bulunan efekt çekirdeğini ekleyin ..\jquery-ui\ui\effect.js.


1
Sadece tek bir efekt kullanmak zorunda kaldım, bu yüzden adil davranabildim import "jquery-ui/ui/effects/effect-slide". İpucu için teşekkürler Tim!
2019

13

Bu benim için çalıştı.

Lütfen aşağıda belirtilen satırı bölüme ekleyin.

<script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js'>


10

Jquery hareket hızı eklentisi, efekt işlev adlarını sürüm 1.2'den itibaren yeniden adlandırdı. Hareket hızına bağlı olarak bir javascript'iniz varsa ve doğru efekt adını çağırmıyorsa, bu hatayı atacaktır.


5

Bugün bu hatayı bir div üzerinde slayt efekti başlatmaya çalışırken aldım. Yukarıdaki 'Tembelden Nefret Ediyorum' cevabına teşekkürler (ki bu oyu yükselttim), özel bir jQuery UI komut dosyası aramaya başladım ve aslında kendi dosyanızı doğrudan jQuery ui web sitesi http: // jqueryui üzerinde oluşturabilirsiniz. com.tr / download / . Tek yapmanız gereken, aradığınız efekt (ler) i işaretlemek ve sonra indirmektir.

Slayt efektini arıyordum. Bu yüzden önce tüm onay kutularının işaretini kaldırdım, ardından 'slayt efekti' onay kutusunu tıkladım ve sayfa otomatik olarak slayt efektinin çalışması için gerekli diğer bileşenleri kontrol etti. Çok basit.

easyOutBounce, 'Efekt Çekirdeği' onay kutusunu işaretlemeniz gereken bir yumuşatma efektidir.


4

Bootstrap kullanıyorsanız, Bootstrap'ın jQuery'sinin, jQuery betik etiketinizin altına eklenmişse, jQuery betik etiketinizin üzerine başka bir sürüm yazması da mümkündür. JQuery'nin kendi CDN'sini dahil etmek ve Bootstrap'ın sağladığı jQuery betik etiketini silmek benim için çalışan tek şeydi.


1

Bu hatayı yaşayan herkes için sürümleri güncellemeyi ve efektlerin çekirdeğin mevcut olduğundan emin olmayı vb.Ve hala kafanızı kaşıyan biri için. Animate () ve diğer sözdizimi için belgelere bakın.

Tek yaptığım "doğrusal" yerine "Doğrusal" yazmaktı ve [this.easing] bir işlev değil

$ ("# ana"). animate ({scrollLeft: '187px'}, 'yavaş', 'Doğrusal'); //kötü

$ ("# ana"). animate ({scrollLeft: '187px'}, 'yavaş', 'doğrusal'); //iyi


0

Sorunu buldum: CDN kullanmayın (bu soruna neden oluyor!), Bunun yerine jquery dosyasını yerel olarak sunucunuza kaydedin ve sorun ortadan kalkar.


0

jquery.easingCDn'yi içe aktarmak benim için çalıştı.

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.4.1/jquery.easing.min.js"></script>

Bu web sayfasının altına ekleyebilirsiniz.


0

bootstrap 4 ve üstü için en son olanı kullanın, bu kullanıcı arayüzünüzü etkilemez

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.