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 相关文章推荐
jQuery之end()和pushStack()使用介绍
Feb 07 Javascript
js移除事件 js绑定事件实例应用
Nov 28 Javascript
jquery中交替点击事件的实现代码
Feb 14 Javascript
js校验表单后提交表单的三种方法总结
Feb 28 Javascript
JavaScript设置获取和设置属性的方法
Mar 04 Javascript
ionic实现下拉刷新载入数据功能
May 11 Javascript
JavaScript事件方法(实例讲解)
Jun 27 Javascript
vue2.0设置proxyTable使用axios进行跨域请求的方法
Oct 19 Javascript
JS实现验证码倒计时的注册页面
Jan 02 Javascript
Vue2.0 实现单选互斥的方法
Apr 13 Javascript
通过图带你深入了解vue的响应式原理
Jun 21 Javascript
Vue+tracking.js 实现前端人脸检测功能
Apr 16 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
PHP基于进程控制函数实现多线程
2020/12/09 PHP
JQUERY CHECKBOX全选,取消全选,反选方法三
2008/08/30 Javascript
ajax更新数据后,jquery、jq失效问题
2011/03/16 Javascript
鼠标滑上去后图片放大浮出效果的js代码
2011/05/28 Javascript
JS中eval函数的使用示例
2013/07/21 Javascript
浅谈JavaScript中null和undefined
2015/07/09 Javascript
jquery获取css的color值返回RGB的方法
2015/12/18 Javascript
ES6下React组件的写法示例代码
2017/05/04 Javascript
layui框架中layer父子页面交互的方法分析
2017/11/15 Javascript
JS实现的邮箱提示补全效果示例
2018/01/30 Javascript
NW.js 简介与使用方法
2018/02/01 Javascript
Bootstrap 中data-[*] 属性的整理
2018/03/13 Javascript
vue双向数据绑定知识点总结
2018/04/18 Javascript
微信小程序接入vant Weapp组件的详细步骤
2020/10/28 Javascript
使用jQuery实现购物车
2020/10/29 jQuery
[02:16]DOTA2英雄基础教程 干扰者
2014/01/15 DOTA
[01:15:56]2018DOTA2亚洲邀请赛3月30日 小组赛A组 TNC VS Newbee
2018/03/31 DOTA
Python生成不重复随机值的方法
2015/05/11 Python
python机器学习之神经网络(二)
2017/12/20 Python
python format 格式化输出方法
2018/07/16 Python
Windows下Anaconda2安装NLTK教程
2018/09/19 Python
在python中只选取列表中某一纵列的方法
2018/11/28 Python
Expected conditions模块使用方法汇总代码解析
2020/08/13 Python
用HTML5实现鼠标滚轮事件放大缩小图片的功能
2015/06/25 HTML / CSS
编程实现去掉XML的重复结点
2014/05/28 面试题
外包公司软件测试工程师
2014/11/01 面试题
简历的自我评价
2014/02/03 职场文书
营销总监岗位职责范本
2014/02/26 职场文书
一年级学生期末评语
2014/04/21 职场文书
门卫岗位职责说明书
2014/08/18 职场文书
2015年安康杯竞赛活动总结
2015/03/26 职场文书
矛盾论读书笔记
2015/06/29 职场文书
安全责任协议书范本
2016/03/23 职场文书
机关单位2016年创先争优活动总结
2016/04/05 职场文书
导游词之西湖雷峰塔
2019/09/18 职场文书
pytorch中的model=model.to(device)使用说明
2021/05/24 Python