2011-11-25 103 views
0

我在我的webapp中使用jquery循環插件和backbone.js。我在我的一個Backbone視圖中啓動尋呼機。以下是我正在做它現在...jquery循環插件:尋呼機不工作

var SlideView = Backbone.View.extend({ 
    template: _.template($('#SlideViewTemplate').html()), 
    initialize: function() { 
     _.bindAll(this, 'render'); 
     this.render(); 
    }, 
    render: function() { 
     return $(this.el).html(this.template(this.model.toJSON())); 
    } 
}); 

var SlideListView = Backbone.View.extend({ 
    el: $('#SlideNavi'), 

    initialize: function() { 
     _.bindAll(this, 'render', 'populate'); 
     this.render(); 
    }, 
    render: function() { 
     _(this.collection.models).each(function(item) { 
      this.populate(item); 
     }, this); 

     $('#Slideshow').cycle({ 
      fx: 'fade', 
      pager: '#SlideNavi' 
     }); 
    }, 
    populateChildren: function(slide) { 
     var itemView = new SlideView({ 
      model: slide 
     }); 
     $(this.el).append(itemView.render()); 
    } 
}); 
new SlideListView({collection: someCollection}); 

這裏是我的視圖模板,沒有任何幻想:

<script type="text/template" id="SlideViewTemplate"> 
    <%= name %> 
</script> 

這裏是如何的觀點看起來被填充後:

<div class="SlideNavi"> 
    <div>Service1</div> 
    <div>Service2</div> 
    <div>Service3</div> 
    <div>Service4</div> 
</div> 

現在,在加載頁面時,SlideListView中使用的el爲空。但是在視圖被填充之後,我會調用jquery循環插件來開始幻燈片放映。事情是幻燈片正在工作,但傳呼機不是。沒有activeClass被添加到尋呼機元素,如圖所示in this demo ....

我在這裏錯過了什麼?

回答

3

我找到了比here更好的答案。確保包含jquery.cycle.all.js,而不是jquery.cycle.lite.js

+0

哈,所以基本上你的問題與發佈的代碼無關,尋呼機只是在精簡版插件中不可用:),很高興知道! – Sander