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 相关文章推荐
JS高级拖动技术 setCapture,releaseCapture
Jul 31 Javascript
javascript 树形导航菜单实例代码
Aug 13 Javascript
jquery动态调整div大小使其宽度始终为浏览器宽度
Jun 06 Javascript
javascript中的previousSibling和nextSibling的正确用法
Sep 16 Javascript
基于jQuery实现的美观星级评论打分组件代码
Oct 30 Javascript
Vue.js每天必学之过滤器与自定义过滤器
Sep 07 Javascript
原生JS实现左右箭头选择日期实例代码
Mar 14 Javascript
JS实现定时任务每隔N秒请求后台setInterval定时和ajax请求问题
Oct 15 Javascript
vue 将页面公用的头部组件化的方法
Dec 18 Javascript
Vuex 使用及简单实例(计数器)
Aug 29 Javascript
解决vue-cli webpack打包开启Gzip 报错问题
Jul 24 Javascript
JS实现滚动条触底加载更多
Sep 19 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正则的Unknown Modifier错误解决方法
2010/03/02 PHP
批量去除PHP文件中bom的PHP代码
2012/03/13 PHP
探讨如何在php168_cms中提取验证码
2013/06/08 PHP
关于php几种字符串连接的效率比较(详解)
2017/02/22 PHP
双击滚屏-常用推荐
2006/11/29 Javascript
原生js实现百叶窗效果及原理介绍
2016/04/12 Javascript
Jquery组件easyUi实现选项卡切换示例
2016/08/23 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
2017/02/28 Javascript
微信小程序与php 实现微信支付的简单实例
2017/06/23 Javascript
详解Vue路由History mode模式中页面无法渲染的原因及解决
2017/09/28 Javascript
javascript计算对象长度的方法
2017/10/25 Javascript
详解vue-cli3多页应用改造
2019/06/04 Javascript
原生js拖拽实现图形伸缩效果
2020/02/10 Javascript
jQuery实现增删改查
2020/12/22 jQuery
Django中的“惰性翻译”方法的相关使用
2015/07/27 Python
python使用super()出现错误解决办法
2017/08/14 Python
Python时间的精准正则匹配方法分析
2017/08/17 Python
Python2.7基于笛卡尔积算法实现N个数组的排列组合运算示例
2017/11/23 Python
Python实现七彩蟒蛇绘制实例代码
2018/01/16 Python
pandas.DataFrame.to_json按行转json的方法
2018/06/05 Python
Python爬虫实现模拟点击动态页面
2020/03/05 Python
Python生成器常见问题及解决方案
2020/03/21 Python
使用scrapy ImagesPipeline爬取图片资源的示例代码
2020/09/28 Python
CSS书写规范、顺序和命名规则
2014/03/06 HTML / CSS
CSS3实现圆角、阴影、透明效果并兼容各大浏览器
2014/08/08 HTML / CSS
乌克兰香水和化妆品网站:Notino.ua
2018/03/26 全球购物
lookfantastic荷兰:在线购买奢华护肤、护发和化妆品
2018/11/27 全球购物
StubHub澳大利亚:购买或出售您的门票
2019/08/01 全球购物
毕业生求职信
2014/06/10 职场文书
我的中国梦演讲稿400字
2014/08/19 职场文书
2014年机关工会工作总结
2014/12/19 职场文书
2016年4月份红领巾广播稿
2015/12/21 职场文书
《没有任何借口》读后感:完美的执行能力
2020/01/07 职场文书
解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)
2021/06/26 MySQL
Elasticsearch 批量操作
2022/04/19 Python
Python使用Opencv打开笔记本电脑摄像头报错解问题及解决
2022/06/21 Python