jquery移动端TAB触屏切换实现效果


Posted in Javascript onDecember 22, 2020

我们使用移动端时可以通过触屏手势左右滑动来切换TAB栏目,如网易新闻等APP栏目切换。我们说的TAB一般由导航条和TAB对应的内容组成,切换导航条上的标签同时标签对应的内容也会跟着切换。本文将结合实例给大家介绍一个移动端TAB触屏切换效果。

我们准备一个TAB导航#pagenavi,里面包含TAB导航要切换的四个导航按钮,然后是切换的主体内容#slider,这里应该放置四个li与导航按钮对应,内容自定义。

<div class="box-163css"> 
 <ul id="pagenavi" class="page"> 
 <li><a href="#">CSS3</a></li> 
 <li><a href="#">JAVASCRIPT</a></li> 
 <li><a href="#">PHP</a></li> 
 <li><a href="#">HTML5</a></li> 
 </ul> 
 <div id="slider" class="swipe"> 
 <ul class="box01_list"> 
 <li class="li_list"> 
 ... 
 </li> 
 ...<!--总共4个li--> 
 </ul> 
 </div> 
</div>

当然,我们还需要给HTML加上css样式,这块根据自己的习惯爱好进行设置。

由于是移动端应用,我们加载zepto.js,zepto就是体积小的jquery。然后需要加载触屏滑动插件touchslider.js

<script type="text/javascript" src="js/zepto_min.js"></script> 
<script type="text/javascript" src="js/touchslider.js"></script>

接下来我们就直接调用TouchSlider,通过设置绑定tab,滑动方向、速度、时间等信息实现内容切换,请看详细代码:

<script type="text/javascript"> 
 var page='pagenavi'; 
 var mslide='slider'; 
 var mtitle='emtitle'; 
 arrdiv = 'arrdiv'; 
 
 var as=document.getElementById(page).getElementsByTagName('a'); 
 
 var tt=new TouchSlider({id:mslide,'auto':'-1',fx:'ease-out',direction:'left',speed:600,timeout:5000,'before':function(index){ 
 var as=document.getElementById(this.page).getElementsByTagName('a'); 
 as[this.p].className=''; 
 as[index].className='active'; 
 this.p=index; 
 var txt=as[index].innerText; 
 $("#"+this.page).parent().find('.emtitle').text(txt); 
 var txturl=as[index].getAttribute('href'); 
 var turl=txturl.split('#'); 
 $("#"+this.page).parent().find('.go_btn').attr('href',turl[1]); 
 }}); 
 
 tt.page = page; 
 tt.p = 0; 
 for(var i=0;i<as.length;i++){ 
 (function(){ 
 var j=i; 
 as[j].tt = tt; 
 as[j].onclick=function(){ 
 this.tt.slide(j); 
 return false; 
 } 
 })(); 
 } 
</script>

以上就是关于移动端TAB触屏切换效果的关键代码分享给大家,希望大家喜欢。

Javascript 相关文章推荐
JObj预览一个JS的框架
Mar 13 Javascript
javascript smipleChart 简单图标类
Jan 12 Javascript
JS打开图片另存为对话框实现代码
Dec 26 Javascript
自定义jQuery选项卡插件实例
Mar 27 Javascript
jquery实现的横向二级导航效果代码
Aug 26 Javascript
Bootstrap前端开发案例一
Jun 17 Javascript
js实现添加可信站点、修改activex安全设置,禁用弹出窗口阻止程序
Aug 17 Javascript
JS+CSS3制作炫酷的弹窗效果
Nov 08 Javascript
微信小程序 网络API发起请求详解
Nov 09 Javascript
JS异步加载的三种实现方式
Mar 16 Javascript
jQuery控制input只能输入数字和两位小数的方法
May 16 jQuery
node获取客户端ip功能简单示例
Aug 24 Javascript
基于jQuery实现搜索关键字自动匹配功能
Mar 26 #Javascript
以Python代码实例展示kNN算法的实际运用
Oct 26 #Javascript
Windows下用PyCharm和Visual Studio开始Python编程
Oct 26 #Javascript
php利用curl获取远程图片实现方法
Oct 26 #Javascript
jQuery.trim() 函数及trim()用法详解
Oct 26 #Javascript
JavaScript中的数据类型转换方法小结
Oct 26 #Javascript
如何实现JavaScript动态加载CSS和JS文件
Dec 28 #Javascript
You might like
老机欣赏|中国60年代精品收音机
2021/03/02 无线电
php中通过虚代理实现延迟加载的实现代码
2011/06/10 PHP
php操作SVN版本服务器类代码
2011/11/27 PHP
解析php时间戳与日期的转换
2013/06/06 PHP
php合并数组中相同元素的方法
2014/11/13 PHP
PHP二维数组排序简单实现方法
2016/02/14 PHP
简单实现php上传文件功能
2017/09/21 PHP
PHP命令空间namespace及use的用法小结
2017/11/27 PHP
使用jQuery内容过滤选择器选择元素实例讲解
2013/04/18 Javascript
js改变鼠标的形状和样式的方法
2014/03/31 Javascript
javascript实现了照片拖拽点击置顶的照片墙代码
2015/04/03 Javascript
js检测用户输入密码强度
2015/10/22 Javascript
理解JS事件循环
2016/01/07 Javascript
详解Node.js:events事件模块
2016/11/24 Javascript
BootStrap学习系列之布局组件(下拉,按钮组[toolbar],上拉)
2017/01/03 Javascript
详谈for循环里面的break和continue语句
2017/07/20 Javascript
详解a++和++a的区别
2017/08/30 Javascript
Angular使用过滤器uppercase/lowercase实现字母大小写转换功能示例
2018/03/27 Javascript
vue路由拦截及页面跳转的设置方法
2018/05/24 Javascript
javascript实现时间日期的格式化的方法汇总
2020/08/06 Javascript
浅谈vue生命周期共有几个阶段?分别是什么?
2020/08/07 Javascript
vue绑定class的三种方法
2020/12/24 Vue.js
通过vue.extend实现消息提示弹框的方法记录
2021/01/07 Vue.js
[52:09]2014 DOTA2华西杯精英邀请赛 5 25 NewBee VS DK第二场
2014/05/26 DOTA
[38:32]完美世界DOTA2联赛循环赛 Forest vs DM 第二场 11.06
2020/11/06 DOTA
用python写一个windows下的定时关机脚本(推荐)
2017/03/21 Python
使用Python将字符串转换为格式化的日期时间字符串
2019/09/01 Python
Python selenium使用autoIT上传附件过程详解
2020/05/26 Python
EntityManager都有哪些方法
2013/11/01 面试题
森林防火标语
2014/06/23 职场文书
2014年电信员工工作总结
2014/12/19 职场文书
避暑山庄导游词
2015/02/04 职场文书
安全保证书格式
2015/02/28 职场文书
邓小平文选读书笔记
2015/06/29 职场文书
新闻稿件写作范文
2015/07/18 职场文书
总结Python连接CS2000的详细步骤
2021/06/23 Python