2016-09-17 61 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

請編輯以解釋此代碼塊。 –