Uncaught TypeError:Object#<Object>没有方法'moveBoxes'
我试图使用我的asp.net mvc网站的moveBoxes插件,它不工作(显然)。 我在我的head标签中导入了像这样的site.master中的movingboxes.js
<script src="<%: Url.Content("~/Scripts/jquery.movingboxes.js")%>" type="text/javascript"></script>
浏览器成功获取这个脚本。 现在我有一个常规的观点,从site.masterinheritance了这个jQuery的一点点,它调用了moveBoxes插件
<script type="text/javascript"> $(document).ready(function () { $($('#slider-one')); $('#slider-one').movingBoxes({ startPanel: 1, panelWidth: .5, fixedHeight: false }); $('#slider-two').movingBoxes({ startPanel: 1, panelWidth: .5, fixedHeight: false }); }); </script>
当我查看页面。 每一件事情都很好(包括其他的jQuery的东西),除了这个插件,我得到这个错误
这里是错误的描述
任何帮助,将不胜感激
编辑
所以显然我有这个:
<script type="text/javascript" src="../../Scripts/jquery-1.4.1.js" /> <script src="<%: Url.Content("~/Scripts/jquery.movingboxes.js")%>" type="text/javascript"></script>
现在通过将其更改为:
<script type="text/javascript" src="../../Scripts/jquery-1.4.1.js"></script> <script src="<%: Url.Content("~/Scripts/jquery.movingboxes.js")%>" type="text/javascript"></script>
有几件事你可以尝试得到这个工作。
-
绝对确保您的脚本被拉入页面,一种方法是使用Chromedebugging器中的“sources”选项卡并search文件。
-
在包含jQuery之后,确保你已经包含了脚本,因为它肯定是依赖于它的。
除此之外,我检查了API,而且我确实正确地做了所有事情。 祝你好运的朋友!
编辑:确保您closures您的脚本标记。 下面有一个答案指出这是解决scheme。
请记住, 只有less数元素可以自动closures ,大部分元素必须通过添加明确的结束标签来closures。 在上述情况下,第一个脚本标记没有正确closures,第二个脚本的结束脚本标记closures了脚本部分,导致只有第一个脚本被加载为外部脚本源,而忽略第二个脚本。
有关哪些标签可以自行closures的更多信息,请参阅W3C的HTML5草案(尽pipe定义在早期的HTML版本中没有区别):
http://www.w3.org/TR/html5/syntax.html#end-tags(8.1.2.1 ,第6点)
我只是与jQuery的响应幻灯片插件( http://responsive-slides.viljamis.com/ )相同的问题。
我修正了它没有使用jQuery的短版本$(".rslides").responsiveSlides(..
而是长版本: jQuery(".rslides").responsiveSlides(...
所以切换$
到jQuery
以免造成冲突或使用正确的jQuery没有冲突模式( http://api.jquery.com/jQuery.noConflict/ )
我有同样的问题。 我改变了头部的脚本的顺序,它为我工作。 插件需要的每个脚本 – 需要保持接近。
例如:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script> <script type="text/javascript" src="http://cloud.github.com/downloads/malsup/cycle/jquery.cycle.all.latest.js"></script> <script type="text/javascript"> $(document).ready(function() { $('#slider').cycle({ fx: 'fade' }); }); </script>
当我遇到这个问题时,是因为我试图用一个实际的函数来代替一个匿名函数。
不正确:
$(document).on('change', "#MyId", MyFunction());
正确
$(document).on('change', "#MyId", MyFunction);
或者也是正确的,如果你需要传递事件对象或其他参数。
$(document).on('change', "#MyId", function(e) { MyFunction(e); });
其实我认为你只下载了脚本的一部分。 尝试检查“核心”checkbox,然后下载整个脚本在jQuery网站。
我有同样的问题,我已经连接jQuery两次。 后来的版本覆盖了我的插件。
我刚刚删除了后来开始工作的jQuery。
我也有这样的问题,因为我使用IMG标签和UL标签。
尝试将“angular”插件应用于$('#mydiv').corner()
, $('#myspan').corner()
, $('#myp').corner()
$('#img').corner()
! 此规则与将子DIV添加到指定元素以模拟圆angular效果有关。 因为我们知道IMG元素不能有任何子元素。
我已经解决了这个问题,通过在div中包装一个需要的元素,并将IMG改为带背景的DIV:CSS属性。
祝你好运!
确保使用正确版本的jQuery也是一个好主意。 我最近收购了一个使用jQuery 1.6.2的项目,这个项目与hoverIntent插件不兼容。 升级到最新的版本固定为我。
我发现我正在使用我的rendorTo div的select器来渲染我的专栏图。 显然它为你添加了select器,所以你只需要传递id。
renderTo:$('#myGraphDiv')为一个string'myGraphDiv',这个错误修正了这个错误,希望这也能帮助别人。