ionic:css实现带字的滑动 toggle

转载请注明出处:
http://blog.csdn.net/lishihong108/article/details/52239901

1 前言

由于项目中需要带字的toggle滑动组件,而ionic提供的是这样的:


这里写图片描述

实际项目中需要这样子的:


这里写图片描述

在网上找了下其他的实现,感觉没得类似的,也没发现合适的,于是自己试着定义了一个凑合着用。先上效果图


这里写图片描述
看效果图边缘有模糊锯齿现象,可能是由于像素的影响,在android和ios手机上表现非常流畅。

#2 实现
其实实现起来也很简单,主要是算好滑块的位置,滑动用的是css的transform.
css用到的类如下:

.switch_search{
	position:relative;display:flex;width:120px;height:28px;
	margin-top:8px;border:solid 1px #fff;border-radius:16px;
}
.switch_search_tab{
	flex:1;height:28px;width:60px;
	line-height:28px;color:#203C4B;z-index:12;
}
.white_search_tab{
	color:#fff;
}
.switch_bg{
	background:#fff;border-radius:16px;position:absolute;
	top:-1px;left:-1px;height:28px;width:60px;
}
.search_right{
	transition: -webkit-transform,transform 0.6s ease; 
	-webkit-transform: translate3d(60px, 0, 0);
	-moz-transform: translate3d(60px, 0, 0); 
	transform:translate3d(60px, 0, 0);
}
.search_left{
	transition: -webkit-transform,transform 0.6s ease; 
	-webkit-transform: translate3d(0px, 0, 0);
	-moz-transform: translate3d(0px, 0, 0); 
	transform:translate3d(0px, 0, 0);
} 

页面上html代码:

<div class="switch_search">
	<div class="switch_search_tab" on-swipe-right="activeSlideSearch(1)" ng-click="activeSlideSearch(0)" ng-class="(slideIndexSearch==0 ||slideIndexSearch==-1) ? '' : 'white_search_tab'"></div>
	<div class="switch_search_tab" on-swipe-left="activeSlideSearch(0)" ng-click="activeSlideSearch(1)" ng-class="(slideIndexSearch==1) ? '' : 'white_search_tab'"></div>
	<div class="switch_bg" ng-class="(slideIndexSearch==0 ||slideIndexSearch==-1) ? 'search_left' :'search_right'"></div>
</div>

对应的Controller js代码如下:

$scope.slideIndexSearch=-1; 
$scope.activeSlideSearch = function(index) {
	$scope.slideIndexSearch=index;
};

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值