.slideToggle() не работает при использовании Jquery 3.1.1
По какой-то причине я получаю Uncaught TypeError, когда я пытаюсь выполнить следующий код.
jQuery(function($){
$(document).ready(function() {
$(".block").click(function() {
var currentElement = $(this).find(".form-group");
currentElement.slideToggle("slow");
});
});
});
Я получаю следующую ошибку
Uncaught TypeError: currentElement.slideToggle is not a function
at HTMLDivElement.<anonymous> (index.js:6)
at HTMLDivElement.dispatch (jquery-3.1.1.slim.min.js:3)
at HTMLDivElement.q.handle (jquery-3.1.1.slim.min.js:3)
Однако, когда я звоню currentElement.toggle()
Это работает, как ожидалось, и я не получаю никаких ошибок.
Кто-нибудь может объяснить, почему это так?
1 ответ
Проблема здесь в том, что вы используете тонкую версию, которая исключает эффекты, такие как анимация, ожидаемая от slideToggle
; поэтому функция не определена. Просто переключитесь на нормальную версию.
Стройное телосложение
Иногда вам не нужен ajax, или вы предпочитаете использовать одну из многих автономных библиотек, которые фокусируются на запросах ajax. И часто проще использовать комбинацию CSS и манипуляции с классами для всех ваших веб-анимаций. Наряду с обычной версией jQuery, которая включает в себя модули Ajax и Effects, мы выпустили "тонкую" версию, которая исключает эти модули. В общем, это исключает ajax, эффекты и устаревший код.