【问题标题】:Why is this JQuery error happening? Animate is not a function为什么会发生此 JQuery 错误?动画不是函数
【发布时间】:2017-08-21 09:48:58
【问题描述】:

我正在学习 jQuery 并尝试解决滚动效果。无论如何,我正在尝试使此代码正常工作,但在这样做时遇到了麻烦。它在运行 animate 函数时中断:

非常感谢您在这方面的帮助。谢谢。

未捕获的类型错误:$(...).animate 不是函数
在 HTMLAnchorElement。 (script.js:58)
在 HTMLDocument.dispatch (jquery-3.1.1.slim.min.js:3)
在 HTMLDocument.q.handle (jquery-3.1.1.slim.min.js:3)

// Select anchor tags to click on 
$(document).on("click", "a", function(event) {
  console.log("item clicked");

  // Clear out the default action  
  event.preventDefault();
  console.log("working until now");

  // Animate to selected selected target
  $("html,body").animate({
    scroll: $($(this).attr('href')).offset().top
  }, 900);
  console.log("no errors for now");
});
<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script>
<script src="javascript/script.js">
</script>

【问题讨论】:

标签: javascript jquery


【解决方案1】:

这是因为您使用的 jQuery 版本。 https://code.jquery.com/jquery-3.1.1.slim.min.js

slim 版本的 jQuery 不包含所有原始的 jQuery 函数。

您应该使用full 版本。您可以从 here 下载。

如果您阅读这篇文章将有助于更好地理解 here 在其中的某个位置,您会找到此声明,我引用:

苗条身材

最后,我们在此版本中添加了一些新内容。有时你 不需要 ajax,或者您更喜欢使用众多独立的之一 专注于 ajax 请求的库。而且通常使用起来更简单 适用于所有网络的 CSS 和类操作的组合 动画。连同包含 jQuery 的常规版本 ajax 和效果模块,我们正在发布一个“苗条”版本, 不包括这些模块。总而言之,它不包括 ajax、效果和 目前已弃用的代码。

【讨论】:

  • 确实,它不再显示错误了。但是,我在 bootstrap 中使用的弹出效果现在已经崩溃了。我查看了您发送给我的文章,它指定将发生重大更改。我认为它也可以通过引导程序影响其他实现。 :( 你能看一下代码,看看它是否有任何缺陷吗?谢谢!
  • @DuhanesAndrei,我很高兴它解决了这个问题。关于弹出窗口的问题,请使用整个代码创建jsfiddle.net 或创建另一个问题并给我链接,我会尽力帮助你。
  • 基本上我仍在尝试在单击 标签时使滚动平滑滑动工作。小提琴地址是jsfiddle.net/xczv0kk4。非常感谢!
  • @DuhanesAndrei,我没有看到任何弹出窗口。您提供的小提琴不包括 Bootstrap 文件或 jQuery 文件。我在小提琴中添加了它们。您的意思是当您单击红色标题时应该滚动到绿色标题?在此处尝试更新小提琴jsfiddle.net/xczv0kk4/1
  • 伙计,如果你在克鲁日,我会给你买啤酒的!这就是我想做的,滚动效果。而且我还没有添加弹窗,但是我现在正在做,你可以看看。
【解决方案2】:

slim 版本不支持某些方法,因此包含此 CDN

<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>

在您的项目中 然后运行你的代码就可以了。

【讨论】:

    【解决方案3】:
    It work for me ----> 
    <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
    

    示例:

    <html>
        <title>.....</title>
        <body>
        <!-------------------- scripts --------------------------------->
            <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> <!- use this->
    
            <script src="js/navbar-fixed.js"></script>
        </body>
    </html>
    

    【讨论】:

    • 请描述发生了什么??
    • 您是如何找到解决方案的?
    猜你喜欢
    • 2015-09-29
    • 1970-01-01
    • 1970-01-01
    • 2017-01-26
    • 1970-01-01
    • 2011-01-03
    • 1970-01-01
    • 1970-01-01
    • 2020-05-06
    相关资源
    最近更新 更多