使用Jquery 3.1.1时,.slideToggle()无效

Len*_*nny 3 html javascript jquery jquery-ui

出于某种原因,当我尝试执行以下代码时,我收到了未捕获的TypeError.

jQuery(function($){
    $(document).ready(function() {
        $(".block").click(function() {
            var currentElement = $(this).find(".form-group");
            currentElement.slideToggle("slow");
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

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)
Run Code Online (Sandbox Code Playgroud)

但是,当我打电话currentElement.toggle()它按预期工作,我没有得到任何错误.

谁能解释为什么会这样?

Dan*_*niP 7

这里的问题是你正在使用超薄版本,它排除了动画所期望的效果slideToggle; 所以函数没有定义.只需切换到正常版本即可.

来自Jquery页面

超薄构建

有时您不需要ajax,或者您更喜欢使用专注于ajax请求的众多独立库之一.通常,对所有Web动画使用CSS和类操作的组合更为简单.除了包含ajax和效果模块的常规jQuery版本之外,我们还发布了一个不包含这些模块的"瘦身"版本.总而言之,它排除了ajax,效果和当前已弃用的代码.