2016-09-17 36 views
1

我试图创建从我json数据bootstrap carousel,我用jQuery-Template呈现此转盘,(换句话说,我从动态创建我的旋转木马滑块我json使用数据jQuery-Template)。这里是我的代码:引导旋转木马类型错误:E [G]是不是一个函数

<div id="main-slide-show" class="slide-show" class="carousel slide" data-ride="carousel"> 
     <!-- Indicators --> 
     <ol class="carousel-indicators"> 
     </ol> 
     <!-- Wrapper for slides --> 
     <div class="carousel-inner" role="listbox"> 
     </div> 
    </div> 
    <script class="tmpl-gallery-slider" type="text/html"> 
     <div class="item"> 
      <img src="/content/{{html file.fileName}}" alt="{{html title}}"> 
     </div> 
    </script> 

和我的回调函数(jQuery-Template渲染后)是象下面这样:

function mainSliderCallback() { 
     $(".carousel-inner .item").each(function(i){ 
      $(".carousel-indicators").append('<li data-target="#main-slide-show" data-slide-to="'+i+'"></li>'); 
     }); 
     $(".carousel-inner .item").first().addClass("active"); 
     $(".carousel-indicators li").first().addClass("active"); 

     $('.carousel-indicators li').bind('click', function (e) { 
      $('#main-slide-show').carousel($(e.target).attr('data-slide-to')); 
     }); 
    } 

,但是当我点击旋转木马的指标,我收到此错误的引导。 min.js:

TypeError: e[g] is not a function

在另一方面,后页面加载完成后,在Firebug使用此代码,改变转盘与没有错误下滑1:

$('#main-slide-show').carousel(1); 

现在我的问题是我的代码/解决方案有什么问题?

回答

1

我有同样的问题,但它与我如何链接轮播控件有关。

由于一些代码编辑器的插件漂亮地打印/美化或可能从网页中复制&粘贴,有一个额外的空间打破这种控制代码,数据滑第一线检查next后的额外空间(你“将不得不向右滚动才能看到):

<a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next "> 
    <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span> 
    <span class="sr-only">Next</span> 
</a> 

删除多余的,并使用此之后,一切正常的话:

<a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next"> 
    <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span> 
    <span class="sr-only">Next</span> 
</a> 

PS:有与之前多余的空格其他属性closi但这个特定的属性是我的案例中的关键。

3

我有同样的问题,只是让你的“幻灯片”参数为整数,一切都会好起来的。

相反

$('#main-slide-show').carousel($(e.target).attr('data-slide-to')); 

使用

var slideTo= $(e.target).attr('data-slide-to'); 
$('#main-slide-show').carousel(parseInt(slideTo)); 
+0

伟大的答案!谢谢! –

0

由于这是谷歌首次记录也许这将帮助别人:

<a class="carousel-control" data-slide="1" href="#carousel"> 
<!-- change data-slide to "data-slide-to" --> 
<a class="carousel-control" data-slide-to="1" href="#carousel"> 

好运

+0

请编辑以解释此代码块。 –