关于ionic中ion-slide-box的ion-slide的高度的一个问题;
比如说,我使用它做切换页面效果;但是每个页面高度都会自动默认为高度最高页面的高度,
这样体验效果就很差,该怎么解决?如何才能让每个ion-slide的高度不一样?
或者说,如何才能让每个ion-slide的高度为自动撑开的高度?
关于ionic中ion-slide-box的ion-slide的高度的一个问题;
比如说,我使用它做切换页面效果;但是每个页面高度都会自动默认为高度最高页面的高度,
这样体验效果就很差,该怎么解决?如何才能让每个ion-slide的高度不一样?
或者说,如何才能让每个ion-slide的高度为自动撑开的高度?
遇到同样问题,坐等解决方案!
我按照自己的方法已经实现了。分享一下自己的实现思路。
每个slide的高度固定为100%;然后在slide内部声明ion-scroll。把内容放在ion-scroll中进行滑动。这样slide的高度就固定为一样高了。
/**
* html
*/
<div class="col" ng-repeat="m in titlelist" ng-class="slectIndex==$index ? 'active' : '' " ng-click="select($index,true)">
<span ng-bind="m.title"></span>
</div>
<ion-slide-box auto-play="false" does-continue="true" show-pager="false"
on-slide-changed="winnerTabChange($index)" delegate-handle="winnerProductTab">
<ion-slide class="myOrderList">
<div ng-show="show_0" >
<!--这里面是你想写的html-->
</div>
</ion-slide>
<ion-slide class="myOrderList">
<div ng-show="show_1" >
<!--这里面是你想写的html-->
</div>
</ion-slide>
<ion-slide class="myOrderList">
<div ng-show="show_2" >
<!--这里面是你想写的html-->
</div>
</ion-slide>
</ion-slide-box>
/**
* controller.js
*/
/**
* 默认第一个显示
*/
$scope.show_0 = true;
$scope.show_1 = false;
$scope.show_2 = false;
/**
* 导航栏的标题
*/
$scope.titlelist = [
{
title:'标题0'
},
{
title:'标题1'
},
{
title:'标题2'
}
]
$scope.select = function (index, isTrue) {
//切换样式
$scope.slectIndex = index;
if (isTrue) {
$ionicSlideBoxDelegate.$getByHandle('winnerProductTab').slide(index);
}
}
/**
* 切换slideBox
* @param index 对应导航的内容
*/
$scope.winnerTabChange = function (index) {
//导航跟着内容切换
$scope.select(index, true);
for(var i=0;i<$scope.titlelist.length;i++) {
if(index == i)
eval('($scope.show_' + i + ' = true)');
else
eval('($scope.show_' + i + ' = false)');
}
$ionicScrollDelegate.scrollTo(0, 0, true);//上滚
};
是不是已经大功告成了?是的,确实可以的。但是你发现切换的不显示?.slider-slide在切的时候,会自带一个left值。不要修改全局的东西,所以我添加了一个类名:myOrderList(自定义);
/**
* css 样式
*/
.myOrderList.slider-slide {
left: 0!important;
}
13 回答13k 阅读
7 回答2.2k 阅读
5 回答1.5k 阅读
3 回答1.3k 阅读✓ 已解决
3 回答2.7k 阅读✓ 已解决
3 回答978 阅读✓ 已解决
5 回答1.6k 阅读✓ 已解决
自顶..............