关于$.fn.scrollPath is not a function

关于$.fn.scrollPath is not a function

在做项目过程中,用到了一个jQuery的滚动路径插件——jQuery Scroll Path。引入相关的js文件后,但是控制台一直报错。如图:

在网上查了很多资料,可能有以下原因:
(1)函数重名
(2)js引入顺序不对
(3)jQuery引入重复
从项目出发,因为引入的是jQuery的一个插件,函数名重复的可能很小,因此从(2)(3)着手考虑。从控制台的Sources面板可以查看加载的脚本。

可以明显的看到引入了两个jQuery文件。因此尝试着移除其中一个,控制台不再报错。

在HTML页面中并没有发现引入了其他的jQuery文件,因此排查错误花了较长的时间。

后来发现页面包含的PHP脚本中引入了jQuery文件,所以造成jQuery引入重复。

找问题的过程中,一开始方向错了,很肯定函数是定义好的,反复的调整也没有解决。有一个朋友说了这么一句话,如果报错了,一定是你错了,程序不可能无缘无故的出错。所以如果出错了,就耐心的找错,最终一切都会解决哒!

时间: 2024-08-09 06:21:18

关于$.fn.scrollPath is not a function的相关文章

使用Vue报错 --- "TypeError: fn.bind is not a function"

使用Vue报错[Vue warn]: Error in nextTick: "TypeError: fn.bind is not a function"页面进不去. 解决思路: (1)看报错信息是methods里有个方法你写的并不是一个函数,可能写了个对象什么的,vue进行fn.bind()处理的时候,.bind取到的可能是undefined. (2) 检查一下你methods里面的方法  ,  看看data mounted methods 写的是方法还是对象 原文地址:https:/

JS鼠标滚动插件scrollpath使用介绍

JS鼠标滚动插件scrollpath:在这个插件中首先要引人的JS是jQuery,因为后面的JS都是基于它的.再者需要引入的是jquery.scrollpath.js.scrollpath.css还有你自己的JS和CSS. prefixfree.min.js和jquery.easing.js可以根据实际情况自己选择. 首先编写好HTML,在一个绝对定位块中分别布好每个块的位置 然后开始根据位置用JS画路径. 定义路径: $.fn.scrollPath("getPath") .moveT

jquery.fn.extend与jquery.extend用法与区别

关于jquery.fn.extend与jquery.extend用法与区别. jQuery为开发插件提拱了两个方法,分别是:  代码如下 复制代码 jQuery.fn.extend(object);  和   jQuery.extend(object); jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法. jQuery.fn.extend(object);给jQuery对象添加方法. fn 是什么东西呢.查看jQuery代码,就不难发现.  代码如下 复制

Function构造函数

使用Function构造函数, 也能够创建函数, 和使用关键字function定义函数有几点区别: 使用function关键字这样定义函数: var f = function(x,y) {return x+y}; 使用Function构造函数定义函数要这样写: var f = new Function("x", "y", "return x+y"); 使用new Function构造函数创建函数有3个注意点: 1:在JS运行的时候可以动态创建Fu

javaScript之function定义

背景知识 函数定义 在javaScript中,function的定义有3种: 1.匿名定义                function(){} 2.非匿名定义                function fn(){}                fn = new Function(); 触发函数执行 对于匿名函数:                        (function(){})();       //执行一个匿名函数                        var f

angular中的ng.function

网址:http://www.angularjsapi.cn/#/copy angular.bind 描述:函数以及参数的动态绑定,返回值为动态绑定之后的函数.其中args是可选的动态参数,self在fn中使用this调用. 使用方法是:angular.bind(self,fn,args) 其中self的参数类型是obj,fn的参数类型是function,args传入fn的参数. 例子: var self = {zhaunglongfei:"boyi"};var f = angular.

深入理解JavaScript系列(50):Function模式(下篇)

介绍 本篇我们介绍的一些模式称为初始化模式和性能模式,主要是用在初始化以及提高性能方面,一些模式之前已经提到过,这里只是做一下总结. 立即执行的函数 在本系列第4篇的<立即调用的函数表达式>中,我们已经对类似的函数进行过详细的描述,这里我们只是再举两个简单的例子做一下总结. // 声明完函数以后,立即执行该函数 (function () { console.log('watch out!'); } ()); //这种方式声明的函数,也可以立即执行 !function () { console.

javascript --- Function模式

回调函数 在javascript中,当一个函数A作为另外一个函数B的其中一个参数时,则称A函数为回调函数,即A可以在函数B的运行周期内执行(开始,中间,结束). 举例来说,有一个函数用于生成node. var complexComutation = function(){ // 内部处理,并返回一个node } 又有一个findNodes函数声明用于查找所有节点,然后通过callback回调进行执行代码. var findNodes = function(callback){ var nodes

jQuery中 $.extend 和 $.fn.extend 作用及区别

jQuery为开发插件提拱了两个方法,分别是: 1. jQuery.fn.extend(); 2. jQuery.extend(); 虽然 javascript没有明确的类的概念,但是可以构建类似类的定义. jQuery便是一个封装得非常好的类,比如,$("#btn1") 会生成一个 jQuery类的实例,理解这一点很重要. 一.jQuery.extend(object) 它是为jQuery类添加类方法,可以理解为添加静态方法. 1.1 jQuery.extend jQuery.ext