在标签项之间滑动,onsen-ui

时间:2014-10-17 19:16:28

标签: tabs swipe-gesture onsen-ui

我正在使用onsen-ui(v1.14),我试图在标签之间滑动,就像在facebook Messenger上一样,但是我无法让它工作。

我尝试过使用" setActiveTab"功能与ons-gesture-detector,有几种组合,但都没有效果。

1 个答案:

答案 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);
    });