ionic实现可滑动的tab选项卡切换效果


Posted in Javascript onApril 15, 2020

利用ionic的slide-box组件实现可滑动的tab,主要是监听tab点击以及slide页面滑动的事件,做相应的处理,用ng-repeat循环,优化、简略了代码,有需要的同学可以看看。

先来张效果图:

ionic实现可滑动的tab选项卡切换效果

用到的css代码:

.tab_default{ 
 border-bottom:solid 1px #F2F2F2;
 padding:6px 0;
}
.tab_select{
 border-bottom:solid 1px #3E89F5;
 box-shadow:0 -3px 8px #C1D3F0 inset;
}
.arrow-top {
 position: absolute;
 width: 0;
 height: 0; 
 top:20px; 
 border: 6px solid #3E89F5;
 border-right-color:transparent;
 border-left-color: transparent;
 border-top-color: transparent;
}
.arrow-top:after {
 content:'';
 position:absolute;
 width: 0;
 height: 0; 
 border: 12px solid #fff;
 right: -12px;
 bottom: -13px;
 border-right-color:transparent;
 border-left-color: transparent;
 border-top-color: transparent;
}

页面上html代码:

<ion-view view-title="滑动tab"> 
 <ion-content has-bouncing="false">
 <div style="display:flex;width:100%;">
 <div style="flex:1;text-align: center;" class="tab_default" ng-repeat="d in tabNames" ng-click="activeSlide($index)" ng-class="slectIndex==$index ? 'tab_select' : '' ">
 {{d}}
 <div class="arrow-top" style="left:{{15+$index*33}}%" ng-show="slectIndex==$index"></div>
 </div> 
 </div> 
 <ion-slide-box on-slide-changed="slideChanged(index)" active-slide="slideIndex" does-continue="false" show-pager="false">
 <ion-slide ng-repeat="p in pages">
 <div ng-include="p"></div>
 </ion-slide>
 </ion-slide-box>
 </ion-content>
</ion-view>

对应的controller.js代码:

$scope.tabNames=['java','html5','android'];
$scope.slectIndex=0;
$scope.activeSlide=function(index){//点击时候触发
 $scope.slectIndex=index;
 $ionicSlideBoxDelegate.slide(index);
};
$scope.slideChanged=function(index){//滑动时候触发
 $scope.slectIndex=index;
};
$scope.pages=["templates/tab01.html","templates/tab02.html","templates/tab03.html"];

tab01.html、tab02.html、tab03.html这几个都是差不多的,贴一个tab01的:

<div style="width:100%;text-align: center;padding-top:30px;">
 page 01
 <p style="margin-top:30px;">
 <img src="img/tab01.jpg" style="width:100%;"/>
 </p>
</div>

注意点:

•点击时候将当前循环的索引$index赋值给变量slideIndex,在tab中使用ng-class判断点击时候的索引和slideIndex是否一样,一样则改变相应的tab的样式;

•滑动的时候是用的slide-box的一个函数,on-slide-changed,当slide页面发发生变化的时候,会向改函数传递一个变量index标识当前slide的索引;

•如果不想滚动只点击,可以去掉on-slide-changed的监听,也可以增加一个属性,disable-scroll="true",禁止slide page滚动;

如果大家还想深入学习,可以点击两个精彩的专题:javascript选项卡操作方法汇总 jquery选项卡操作方法汇总

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
PJBlog插件 防刷新的在线播放器
Oct 25 Javascript
JavaScript 权威指南(第四版) 读书笔记
Aug 11 Javascript
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
May 21 Javascript
js中的setInterval和setTimeout使用实例
May 09 Javascript
jquery实现用户打分评分特效
May 28 Javascript
JavaScript定时器和优化的取消定时器方法
Jul 03 Javascript
jQuery实现拖拽页面元素并将其保存到cookie的方法
Jun 12 Javascript
原生js封装的一些jquery方法(详解)
Sep 20 Javascript
以BootStrap Tab为例写一个前端组件
Jul 25 Javascript
使用jquery Ajax实现上传附件功能
Oct 23 jQuery
Vue组件Draggable实现拖拽功能
Dec 01 Javascript
vue 基于abstract 路由模式 实现页面内嵌的示例代码
Dec 14 Vue.js
ionic实现滑动的三种方式
Aug 27 #Javascript
js select实现省市区联动选择
Apr 17 #Javascript
轻松掌握JavaScript装饰者模式
Aug 27 #Javascript
node.js实现快速截图
Aug 27 #Javascript
购物车前端开发(jQuery和bootstrap3)
Aug 27 #Javascript
利用Angularjs和Bootstrap前端开发案例实战
Aug 27 #Javascript
轻松掌握JavaScript享元模式
Aug 27 #Javascript
You might like
php采集时被封ip的解决方法
2010/08/29 PHP
PHP中simplexml_load_string函数使用说明
2011/01/01 PHP
thinkPHP实现瀑布流的方法
2014/11/29 PHP
php自定义加密与解密程序实例
2014/12/31 PHP
浅析Yii2中GridView常见操作
2016/04/22 PHP
JQuery对表格进行操作的常用技巧总结
2014/04/23 Javascript
jquery如何判断表格同一列不同行input数据是否重复
2014/05/14 Javascript
javascript中实现兼容JAVA的hashCode算法代码分享
2020/08/11 Javascript
jQuery中:nth-child选择器用法实例
2014/12/31 Javascript
使用console进行性能测试
2015/04/27 Javascript
原生js实现图片轮播特效
2015/12/18 Javascript
酷! 不同风格页面布局幻灯片特效js实现
2021/02/19 Javascript
jQuery实现可移动选项的左右下拉列表示例
2016/12/26 Javascript
axios基本入门用法教程
2017/03/25 Javascript
微信小程序实现image组件图片自适应宽度比例显示的方法
2018/01/16 Javascript
npm 更改默认全局路径以及国内镜像的方法
2018/05/16 Javascript
如何通过JS实现转码与解码
2020/02/21 Javascript
基于javascript实现日历功能原理及代码实例
2020/05/07 Javascript
js中复选框的取值及赋值示例详解
2020/10/18 Javascript
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
2020/12/30 Vue.js
Python中使用Flask、MongoDB搭建简易图片服务器
2015/02/04 Python
Python实现更改图片尺寸大小的方法(基于Pillow包)
2016/09/19 Python
Python迭代器定义与简单用法分析
2018/04/30 Python
对Python3中dict.keys()转换成list类型的方法详解
2019/02/03 Python
使用Python进行中文繁简转换的实现代码
2019/10/18 Python
PyTorch中的Variable变量详解
2020/01/07 Python
python实现二分查找算法
2020/09/18 Python
期末总结的个人自我评价
2013/11/02 职场文书
精彩自我鉴定
2014/01/16 职场文书
财务工作个人总结
2015/02/27 职场文书
谢师宴家长致辞
2015/07/27 职场文书
Nginx的基本概念和原理
2022/03/21 Servers
分析SQL窗口函数之聚合窗口函数
2022/04/21 Oracle
mybatis-plus模糊查询指定字段
2022/04/28 Java/Android
JS实现页面炫酷的时钟特效示例
2022/08/14 Javascript