ionic实现滑动选择栏

本次记录一下项目中使用到的滑动选择栏的功能,感觉效果还可以。如有问题,还请大佬指出,将进行改正。新手理解可能不深刻,还请见谅。

实现后的效果图

滑动选择栏效果图

代码实现

所使用的是ionic滚动条ion-scroll标签,它用于创建可滚动的容器。将要添加的内容放到此标签内。

html代码部分

<ion-header class="hh">
  <div class="head">
    <div class="head-name">
      Demo
    </div>
	<ion-scroll scrollX="true" scroll-ys>
	  <div style="width:11111px;" id="div-scroll">
	    <span class="fl fl-active" id="rec">推荐</span>
	    <span class="fl fl-active" id="act1">活动1</span>
	    <span class="fl fl-active" id="act2">活动2</span>
	    <span class="fl fl-active" id="act3">活动3</span>
	    <span class="fl fl-active" id="act4">活动4</span>
	    <span class="fl fl-active" id="act5">活动5</span>
	    <span class="fl fl-active" id="act6">活动6</span>
	    <span class="fl fl-active" id="act7">活动7</span>
	  </div>
	</ion-scroll>
	</div>
</ion-header>

<ion-content>
	<!--页面内容-->
</ion-content>

css相关代码部分

[scroll-ys] {
    width: 100%;
    margin-top: 1rem;
    height: 45px;
    background-color: #fff;
    border-bottom: 1px solid #dadada;
  }
  [fl-active ] {
    padding: 10px;
    float: left;
    border-bottom: 3px solid #2773fd;
    margin: 0 5px;
  }
  .fl-active {
    padding: 0.8rem;
    float: left;
    border-bottom: 3px solid #CD3429;
    margin: 5px;
  }
  //非点击状态的显示
  .fl {
    padding: 10px;
    float: left;
    margin: 4px 5px;
  }
  [fl] {
    padding: 10px;
    float: left;
    margin: 0 5px;
  }

js代码部分(js代码是添加点击事件使用的)。

ionViewDidEnter() {
  $(".fl-active").removeClass("fl-active");//移除样式
  $("#rec").addClass("fl-active");//添加样式
  this.changeTabs();//页面初始化
}

changeTabs() {
  //添加点击事件
  $(".fl").click(function () {
    var val = $(this).text();//获取文本内容
    var prid = $(this).attr("id");//获取id
    $(".fl-active").removeClass("fl-active");//移除样式
    $(this).addClass("fl-active");//添加样式
    if(prid == 'rec'){//推荐
      //推荐内容
    }else if(prid == 'act1'){//活动1
      //活动1
    }else if(prid == 'act2'){//活动2
      //活动2
    }else if(prid == 'act3'){//活动3
      //活动3
    }else if(prid == 'act4'){//活动4
      //活动4
    }else if(prid == 'act5'){//活动5
      //活动5
    }else if(prid == 'act6'){//活动6
      //活动6
    }else if(prid == 'act7'){//活动7
      //活动7
    }
  });
}

通过上述代码即可实现上图中的效果,有兴趣的朋友可以试一下,还是不错的。??(^ __^)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值