jQuery(...)。addClass(...)。viewportChecker不是一个函数

时间:2016-05-13 14:24:02

标签: javascript jquery

背景信息:我使用的主题包含大量自定义JS,直到我开始添加自己的javascript时才开始工作,此时我开始收到此错误:

theme.js:28 Uncaught TypeError: jQuery(...).addClass(...).viewportChecker is not a function

它出错的行如下:

jQuery('.scroll1').addClass("hidden").viewportChecker({
    classToAdd: 'visible animated fadeIn', // Class to add to the elements when they are visible  
}); ; 

起初我认为jQuery正在更新他们的库,但由于问题仍然存在于今天早上......我不相信是这样的。

援助链接为http://yardlad.webbtechgroup.us

2 个答案:

答案 0 :(得分:3)

enter image description here

你看到你的实际jQuery文件如何在那里加载?

那是因为它是在head标签中包含的每个其他javascript之后放的。这条线

#Days passed from last SEP client update
$Error.Clear();
try {
$res=(Get-ItemProperty "HKLM:\SOFTWARE\Wow6432Node\Symantec\Symantec Endpoint Protection\AV" PatternFileDate).PatternFileDate
 }
catch 
 {
  Write-Host "ERROR: $($Error[0])";
  exit 1;
  }
if ($Error.Count -eq 0) {
 $y1=[int]$res[0]+1970;
 $m1=[int]$res[1]+1;
 $d1=[int]$res[2];
 $stat2 = [string](get-date -uformat "%m %d %Y")
 $t2=$stat2.split(" ")
 $m2=[int]$t2[0];
 $d2=[int]$t2[1];
 $y2=[int]$t2[2];
 $diff=($y2-$y1)*365+($m2-$m1)*30+($d2-$d1);
 write-host "Statistic: $diff";
 write-host "Message: Last SEP client update date: $m1/$d1/$y1";
 exit 0;
 }
write-host "Message: Can't find ""HKLM:\SOFTWARE\Symantec\Symantec Endpoint Protection\AV\PatternFileDate"" registry value";

老实说,应该是第一个包含的脚本。我知道你有代码:

<script type='text/javascript' charset='utf-8' src='http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'></script>

但是,这并不是按照您需要的顺序加载它。应该在任何插件之前加载jQuery。

你知道,这些插件通过<script type="text/javascript"> !window.jQuery && document.write(unescape('%3Cscript type="text/javascript" src="rw_common/themes/multiregen/js/jquery-1.7.1.min.js"%3E%3C/script%3E')) </script> 添加到jQuery对象。但是如果jQuery还没有被加载,那么他们会添加什么呢?稀薄的空气!

答案 1 :(得分:-3)

您提供的页面上不存在类scroll1的元素。结果,jQuery无法找到您尝试包装jQuery的元素,然后应用函数addClassviewportChecker

由于您的函数被链接,似乎最后一个导致错误。尝试拆分它们,您就会看到实际的错误位置。