未捕获的TypeError:无法读取未定义的属性'cycle'

时间:2014-12-05 09:25:52

标签: javascript

HTML代码:

<ol class="carousel-indicators">
                <li data-target="#carousel-popular-devices" data-slide-to="0" class="pip"></li>             
                <li data-target="#carousel-popular-devices" data-slide-to="1" class="pip"></li>                 
                <li data-target="#carousel-popular-devices" data-slide-to="2" class="pip active"></li>                  
                <li class="all">
                        <a href="3" class="all">blabla</a>
                </li>   
</ol>

这是javascript的一部分:

var $this = $(this), href
  , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
  , options = $.extend({}, $target.data(), $this.data())
  , slideIndex

$target.carousel(options)

if (slideIndex = $this.attr('data-slide-to')) {
  $target.data('carousel').pause().to(slideIndex).cycle()
}

e.preventDefault()

我得到未捕获的TypeError:无法读取未定义的属性'cycle'

  

$ target.data( '转盘')。暂停()。到(slideIndex).cycle()

这一行。

我刚刚开始使用js,如果它是一个微不足道的问题,抱歉。

感谢提前。

2 个答案:

答案 0 :(得分:2)

这是因为您发布的代码使用名为&#34; jQuery&#34;

的外部库

它是一个Javascript文件,包含许多扩展方法和其他好东西。你可能没有把它链接到你的页面。

您需要在所有其他脚本之前链接jquery:

<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>

或者如果您不想依赖外部链接,可以将此库下载到您的网站并在本地使用。从HERE

下载jquery

答案 1 :(得分:2)

您要为slideIndex指定值而不是比较 而不是这个。

if (slideIndex = $this.attr('data-slide-to')) {
    $target.data('carousel').pause().to(slideIndex).cycle()
} 

使用它:

if (slideIndex == $this.attr('data-slide-to')) {
    $target.data('carousel').pause().to(slideIndex).cycle()
}