ionic之ion-slide-box实现图片轮播

实现效果

这里写图片描述

我是代码

html代码

 <ion-slide-box on-slide-changed="slideHasChanged($index)" auto-play="true" does-continue="true"
                       slide-interval=2000 show-pager="true" pager-click="pageClick(index)"
                       active-slide="model.activeIndex" delegate-handle="delegateHandler" ng-click="coverFlowClick()">
          <ion-slide>
            <div class="box">
              <img src="http://img9.tu11.com:8080/picture/121022/pic5/14.jpg">
            </div>
          </ion-slide>
          <ion-slide>
            <div class="box">
              <img src="http://down77.yousiji.com/uploads1/allimg/c101123/12Z4Qc10S10-193502.jpg">
            </div>
          </ion-slide>
          <ion-slide>
            <div class="box">
              <img src="http://img.mm522.net/flashAll/20120206/13285185634aUfhU.jpg">
            </div>
          </ion-slide>
        </ion-slide-box>

controller代码

.controller('articlePageCtrl', ['$scope', '$stateParams', '$ionicSlideBoxDelegate', 'FinancList', '$timeout', // TIP: Access Route Parameters for your page via $stateParams.parameterName
    function ($scope, $stateParams, $ionicSlideBoxDelegate, FinancList, $timeout) {

      $scope.articles = [{id: 0, avatar: 1, img: 2, title: 3, des: 4, see: 5},
        {id: 1, avatar: 1, img: 2, title: 3, des: 4, see: 5}];
      //为了验证属性active-slide定义的模型,angularjs是mvc模式
      $scope.model = {
        activeIndex: 0
      };
      //滑动图片的点击事件
      $scope.coverFlowClick = function () {
        var index = $ionicSlideBoxDelegate.currentIndex();
        console.log("coverFlowClick index = ", index);
      }
      //此事件对应的是pager-click属性,当显示图片是有对应数量的小圆点,这是小圆点的点击事件
      $scope.pageClick = function (index) {
        //alert(index);
        console.log("pageClick index = ", index);
        $scope.model.activeIndex = index;
      };

      //当图片切换后,触发此事件,注意参数
      $scope.slideHasChanged = function ($index) {
        //alert($index);
        //console.log("slideHasChanged index = ", $index);
      };
      //这是属性delegate-handle的验证使用的,其实没必要重定义,直接使用$ionicSlideBoxDelegate就可以
      $scope.delegateHandle = $ionicSlideBoxDelegate;
 }])

注意

ion-slide-box这个控件,如果你只有两个元素的话,它会生成四个重复的元素,目测是ionic的一个bug,不知道有人解决了没,所以我的解决办法是,如果是两个,就插入了一张广告图片。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值