未捕获的TypeError:对象[object Object]没有方法'nivoSlider'

时间:2012-07-28 17:59:31

标签: jquery slider nivo-slider

我收到了nivoslider的错误,当我在chrome中调试时我发现这个no method nivoSlider代码工作正常,直到我添加了另一个滑块contentlider。现在它只是显示最后一张图像而不是移动。我听说过这个话题,所以得出的结论是,如果你使用2个滑块与jQuery它会产生冲突或类似的东西,我不知道请帮助。

<div class="slider-wrapper theme-default">
    <div id="slider" class="nivoSlider">
        <?php $banner_query=executeQuery("select * from tbl_picture where status=1");
            while($banner=mysql_fetch_array($banner_query)){?>
        <img src="image/<?php echo $banner['picture'];?>"  alt="<?php echo $banner['title'];?>" title="<?php echo $banner['title'];?>" border="0"/>
        <?php }?>      
    </div>  

</div>

<script type="text/javascript" src="codelibrary/js/jquery-1.6.4.min.js"></script>
<script type="text/javascript" src="codelibrary/js/jquery.nivo.slider.pack.js"></script>
<script type="text/javascript">
    $(window).load(function() {
        $('#slider').nivoSlider();
    });
</script>

2 个答案:

答案 0 :(得分:0)

如果您使用2个或更多具有相同ID选择器的滑块,则可能会发生冲突。然而,目前看起来你在概念中使用它开箱即用,除了使用PHP推出幻灯片。一般来说,在这种情况下,要知道到底发生了什么,几乎没什么可说的。

如果您可以在某些地方发布一些代码,我自己和其他像我一样的人可以查看并查看我们自己,我们可以更好地帮助,但是目前根据您的问题而提及想要使用多个有一段时间,我的结论是,您可能会在页面上的两个滑块上使用相同的ID #slider

答案 1 :(得分:0)

此错误告诉您JQuery对象(在这种情况下为$('#slider'))没有nivoSlider方法,这意味着nivoSlider插件由于某种原因尚未加载。

每一件事都有可能发生这样的事情:

  • 您尚未在之前包含jquery ,包括nivoSlider
  • 您包含更多而不是jquery来源

这与页面中有多少个滑块无关,这是一个脚本加载问题。 显然,如果您有多个,则不得使用相同的ID。