我正在使用onsen-ui(v1.14),我试图在标签之间滑动,就像在facebook Messenger上一样,但是我无法让它工作。
我尝试过使用" setActiveTab"功能与ons-gesture-detector,有几种组合,但都没有效果。
答案 0 :(得分:1)
这就是我所做的(对于工具栏)
CSS
.activebtn .ng-scope{
color: blue;
}
HTML
<ons-template id="list.html">
<ons-toolbar var="tb">
<div class="center">
<ons-toolbar-button class="tbbtn" id="btn_0" ng-click="abc.setActiveCarouselItemIndex(0)">ALL</ons-toolbar-button>
<ons-toolbar-button class="tbbtn" id="btn_1" ng-click="abc.setActiveCarouselItemIndex(1)">PEOPLE</ons-toolbar-button>
<ons-toolbar-button class="tbbtn" id="btn_2" ng-click="abc.setActiveCarouselItemIndex(2)"> TOPICS</ons-toolbar-button>
<ons-toolbar-button class="tbbtn" id="btn_3" ng-click="abc.setActiveCarouselItemIndex(3)">ACCOUNTS</ons-toolbar-button>
</div>
</ons-toolbar>
<ons-carousel style="width: 100%; height: 100%" auto-scroll var="abc" ng-controller="ListCtrl">
<ons-carousel-item>
a...
</ons-carousel-item>
<ons-carousel-item>
b...
</ons-carousel-item>
<ons-carousel-item>
c...
</ons-carousel-item>
<ons-carousel-item>
d...
</ons-carousel-item>
</ons-carousel>
</ons-template>
JS
app.controller('ListCtrl', function($scope, $http) {
$('#btn_0').addClass('activebtn');
setTimeout(function(){
abc.on('postchange', function(){
$('.tbbtn ').removeClass('activebtn');
$('#btn_' + abc.getActiveCarouselItemIndex()).addClass('activebtn');
});
}, 400);
});