首页 > 解决方案 > Uncaught TypeError: $ is not a function / body.getScroll is not a function

问题描述

我有一个基于 Joomla 3.9.2 的工作网站。但安装新组件后,以下函数开始在“var body = $(document.body);”行返回错误“Uncaught TypeError: $ is not a function ” .

((function() {
  var scrollingHeader = function() {
    var body = $(document.body);
    var scroll = body.getScroll();
    if (scroll.y > 0 && body.id !== 'rt-offline' && body.id !== 'rt-comingsoon') body.addClass('scrolling-enable');
    if (scroll.y == 0 && body.hasClass('scrolling-enable')) body.removeClass('scrolling-enable');
  };
  window.addEvent('scroll', scrollingHeader);
})());

在网上搜索我看到很多帖子说noConflict删除了 $ 和 jQuery 之间的关联。事实上,我的页面源代码中有这些行,其中不包含任何冲突

<script src="/media/jui/js/jquery.min.js?941b0fb0b53669f1c7ae375ee879339b" type="text/javascript"></script>
<script src="/media/jui/js/jquery-noconflict.js?941b0fb0b53669f1c7ae375ee879339b" type="text/javascript"></script>
..
<script src="/media/system/js/mootools-core.js?941b0fb0b53669f1c7ae375ee879339b" type="text/javascript"></script>
..
<script src="/templates/rt_paradigm/js/scrolling-header.js" type="text/javascript"></script>
..

因此,我更改了错误生成行: “var body = $(document.body);” 对此: “var body = jQuery(document.body);” 但是现在我又得到一个错误: Uncaught TypeError: body.getScroll is not a function 就行了: var scroll = body.getScroll();

那么,有谁知道我该如何解决冲突?...

谢谢!

标签: jquerytypeerror

解决方案


推荐阅读