使用angular和swiper做的一个滑动小插件

1.这几天一直在研究这个小插件的做法,如图可以上下滑动进行选择,slide-active的颜色跟其他不一样
2.开始想用angular来实现,发现去绑定滑动事件进行判断滑动距离很麻烦,考虑到之前用过swiper这个插件,就尝试用swiper做了一下,很快就成功了。
3.贴出代码来看看吧:

html部分,我用的指令来做的,所以html部分很少啦:

<ion-content class="padding">

        <list-scroll data="list"></list-scroll>  
        <!-- Swiper -->

  </ion-content>

js部分:

 angular.module('starter.controllers', [])

.directive('listScroll',function(){
  return {
    restrict:'E',
    scope:{
      data:'='
    },
    template:'<div class="chooseDiv">'+
                '<div class="swiper-container">'+
                  '<div class="swiper-wrapper">'+
                    '<div class="swiper-slide" ng-repeat="x in data" repeat-finish="renderFinish()">{{x}}</div>'+
                  '</div>'+
                '</div>'+
                '<div class="mark_div"></div>'+
              '</div>',
    link:function($scope,element,attrs){
      $scope.renderFinish = function(){
          var mySwiper1 = new Swiper('.swiper-container',{
            direction: 'vertical',
            slidesPerView: 5,
            centeredSlides: true
        })
      }        
    }
  }
})
.directive('repeatFinish',function(){
    return {
        link: function(scope,element,attr){

            if(scope.$last == true){
                console.log('ng-repeat执行完毕')
                scope.$eval( attr.repeatFinish )
            }
        }
    }
})
.controller('DashCtrl', function($scope,$ionicScrollDelegate) {
  console.log($scope);
  $scope.list = ['please choose','湖北','湖南','浙江','江苏','广东','广西','深圳','福建'];
})

这就是所有代码了,,终于实现了,两天的努力没白费!

注:swiper的配置请参考[http://www.swiper.com.cn/api/Effects/2015/0308/194.html]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章