滑块视图容器

swiper

滑块视图容器。

swiper-item

仅可放置在<swiper/>组件中,宽高自动设置为100%。

属性名类型默认值说明最低版本
item-idString""该 swiper-item 的标识符1.9.0

在swiper里需要存放的是它的组件swiper-item。下面的例子实现了一个页面一道题,通过滑动到下一题:

(paperdetails 是通过接口后台传来的数据)

<swiper duration="1500" bindchange="change" current='{{currentid}}' wx:if="{{show_swiper}}" >  
     <swiper-item wx:for="{{paperdetails}}" >
       <text class='con'>{{item.content}}</text>
       <radio-group data-id="{{item.id}}" bindchange="radioChange" bindtap="next">
         <label class='item'>
           <radio value='a#{{item.scorea}}'>A.{{item.itema}}</radio>
         </label>
         <label class='item'>
           <radio value='b#{{item.scoreb}}'>B.{{item.itemb}}</radio>
         </label>
         <label class='item'>
           <radio value='c#{{item.scorec}}'>C.{{item.itemc}}</radio>
         </label>
         <label class='item'>
           <radio value='d#{{item.scored}}'>D.{{item.itemd}}</radio>
         </label>
       </radio-group>
     </swiper-item>
  </swiper> 

这里面用到了swiper 的属性:

duration:滑动动画时长      current:当前所在滑块的 index   bindchange:绑定的事件change  

下面有它的更多属性介绍。

下面是他的部分js代码

change: function(e){
    console.log(e);
    if(e.detail.source == 'touch'){
      this.setData({currentid:e.detail.current});
    }
radioChange: function(e){ //获取单选按钮选的值
    var id = e.currentTarget.dataset.id;
    var value = e.detail.value;
    var arr = value.split('#');
    // console.log(arr)
    var _answer = this.data.answer;
    _answer[id] = arr[0];
    this.setData({ answer:_answer });
    var _score = this.data.score;
    _score[id] = arr[1];
    this.setData({ score: _score });

  //计算json里面值的个数
  var len = 0;
  for(var i in _answer){
    len++;
  }
  if(len<this.data.count){
    this.setData({ btn_disabled:true});
  }else{
    this.setData({ btn_disabled:false});
  }

下面是它的一些属性:

属性名类型默认值说明最低版本
indicator-dotsBooleanfalse是否显示面板指示点 
indicator-colorColorrgba(0, 0, 0, .3)指示点颜色1.1.0
indicator-active-colorColor#000000当前选中的指示点颜色1.1.0
autoplayBooleanfalse是否自动切换 
currentNumber0当前所在滑块的 index 
current-item-idString""当前所在滑块的 item-id ,不能与 current 被同时指定1.9.0
intervalNumber5000自动切换时间间隔 
durationNumber500滑动动画时长 
circularBooleanfalse是否采用衔接滑动 
verticalBooleanfalse滑动方向是否为纵向 
previous-marginString"0px"前边距,可用于露出前一项的一小部分,接受 px 和 rpx 值1.9.0
next-marginString"0px"后边距,可用于露出后一项的一小部分,接受 px 和 rpx 值1.9.0
display-multiple-itemsNumber1同时显示的滑块数量1.9.0
skip-hidden-item-layoutBooleanfalse是否跳过未显示的滑块布局,设为 true 可优化复杂情况下的滑动性能,但会丢失隐藏状态滑块的布局信息1.9.0
bindchangeEventHandle current 改变时会触发 change 事件,event.detail = {current: current, source: source} 
bindanimationfinishEventHandle 动画结束时会触发 animationfinish 事件,event.detail 同上1.9.0


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值