Помилка типу: p.easing [this.easing] не є функцією


96

При спробі показати елемент div за допомогою jQuery, я отримав таку помилку:

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

Відповідна функція така:

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();
}

Функція відповідає за показ div з анімацією відмов, однак div відображається, але без ефекту відмов.

Редагувати:

Я включаю бібліотеки jQuery та jQueryUI з CDN, як це (по порядку):

<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>

Відповіді:


142

Вам потрібно включити jQueryUI для розширених опцій послаблення.

Я думаю, що може бути варіант включити пом’якшення лише під час завантаження або, принаймні, лише базову бібліотеку плюс пом’якшення.


10
Я включаю цей файл із CDN: <script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js'></script> це цей? Або я повинен включити інший файл?
Malloc

1
Так, але я завжди мав те саме питання, будь ласка, подивіться на мою
редакцію

2
О, я це виправив, я включав як jQuery-min, так і jQuery в один і той же файл, це була моя помилка. Подяка за допомогу :)))
Malloc

3
Що ви маєте на увазі? як ви це виправили?
max4ever

1
Так, я все ще отримую ту саму помилку, але я включив лише один вихідний файл jquery.
Коста,

17

Для тих, хто має власну побудову інтерфейсу jQuery (bower для напр.), Додайте ядро ​​ефектів, розташоване в ..\jquery-ui\ui\effect.js.


1
Мені довелося використовувати лише один ефект, тож я зміг відшкодувати справедливим import "jquery-ui/ui/effects/effect-slide". Дякуємо за підказку, Тіме!
aried3r

13

У тому числі це працювало у мене.

Включіть рядок, згаданий нижче, до розділу.

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


10

Плагін Jquery easing перейменований назви їх функцій ефекту з версії 1.2. Якщо у вас є якийсь javascript залежно від пом'якшення, і він не викликає правильного імені ефекту, він викине цю помилку.


5

Я отримав цю помилку сьогодні, намагаючись ініціювати ефект слайда на div. Завдяки відповіді від "Я ненавиджу ледачого" вище (яку я підтримав), я пішов шукати власний скрипт інтерфейсу користувача jQuery, і ви насправді можете створити власний файл безпосередньо на веб-сайті jQuery ui http: // jqueryui. com / завантажити / . Все, що вам потрібно зробити, це позначити ефект (и), який ви шукаєте, а потім завантажити.

Я шукав ефект слайда. Тож я спочатку зняв усі прапорці, потім клацнув прапорець «ефект слайда», і сторінка автоматично перевіряє ті інші компоненти, необхідні для роботи ефекту слайда. Дуже просто.

easyOutBounce - це пом'якшувальний ефект, для якого вам потрібно буде встановити прапорець 'Effects Core'.


4

Якщо ви використовуєте Bootstrap, можливо, що jQuery Bootstrap, якщо він включений під тегом сценарію jQuery, перезаписує ваш тег сценарію jQuery іншою версією. Включення власного CDN jQuery та видалення тегу сценарію jQuery, який надає Bootstrap, було єдиним, що мені вдалося.


1

Для тих, хто переживає цю помилку, і ви спробували оновити версії, переконатися, що ядро ​​ефектів присутнє тощо, і все ще чухає голову. Перевірте документацію на наявність анімації () та іншого синтаксису.

Все, що я зробив, це написав "Лінійний" замість "лінійний" і отримав, що [this.easing] не є функцією

$ ("# main"). animate ({scrollLeft: '187px'}, 'slow', 'Linear'); // поганий

$ ("# main"). animate ({scrollLeft: '187px'}, 'повільний', 'лінійний'); // добре


0

Я знайшов проблему: не використовуйте CDN (це спричиняє проблему!), Замість цього збережіть файл jquery локально на своєму сервері, і тоді проблема не зникне.


0

Імпорт jquery.easingCDN працював у мене.

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

Ви можете додати це внизу веб-сторінки.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.