基于JavaScript实现移动端TAB触屏切换效果


Posted in Javascript onOctober 20, 2015

展示效果图如下所示:

基于JavaScript实现移动端TAB触屏切换效果

效果演示 源码下载

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

HTML

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

<div class="box-163css"> 
  <ul id="pagenavi" class="page"> 
    <li><a href="#https://3water.com/css.html" class="active">CSS3</a></li> 
     <li><a href="#https://3water.com/jquery.html">JAVASCRIPT</a></li> 
    <li><a href="#https://3water.com/php.html">PHP</a></li> 
    <li><a href="#https://3water.com/web.html">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样式,本例已打包好css文件供大家下载。

JAVASCRIPT

由于是移动端应用,我们加载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>

以上内容是本文的全部叙述,希望对大家学习有所帮助。

Javascript 相关文章推荐
jquery BS,dialog控件自适应大小
Jul 06 Javascript
用Javascript实现Sleep暂停功能代码
Sep 03 Javascript
ASP中Sub和Function的区别说明
Aug 30 Javascript
javascript权威指南 学习笔记之变量作用域分享
Sep 28 Javascript
javascript图像处理—仿射变换深度理解
Jan 16 Javascript
倒记时60刷新网页的js代码
Feb 18 Javascript
javascript中call和apply的用法示例分析
Apr 02 Javascript
全面介绍vue 全家桶和项目实例
Dec 27 Javascript
js实现多个倒计时并行 js拼团倒计时
Feb 25 Javascript
javascript 原型与原型链的理解及应用实例分析
Feb 10 Javascript
详解vue beforeEach 死循环问题解决方法
Feb 25 Javascript
Vue如何循环提取对象数组中的值
Nov 18 Vue.js
js点击文本框后才加载验证码实例代码
Oct 20 #Javascript
javascript实现状态栏中文字动态显示的方法
Oct 20 #Javascript
基于jQuery实现的扇形定时器附源码下载
Oct 20 #Javascript
JS实现仿Windows经典风格的选项卡Tab切换代码
Oct 20 #Javascript
JavaScript实现的简单烟花特效代码
Oct 20 #Javascript
require.js的用法详解
Oct 20 #Javascript
JS实现鼠标滑过链接改变网页背景颜色的方法
Oct 20 #Javascript
You might like
为什么那些咖啡爱好者大多看不上连锁咖啡店?
2021/03/06 咖啡文化
备份mysql数据库的php代码(一个表一个文件)
2010/05/28 PHP
解析数组非数字键名引号的必要性
2013/08/09 PHP
微信公众平台消息接口校验与消息接口响应实例
2014/12/23 PHP
标准版Eclipse搭建PHP环境的详细步骤
2015/11/18 PHP
完美的php分页类
2017/10/24 PHP
jquery选择器-根据多个属性选择示例代码
2013/10/21 Javascript
JavaScript获取图片的原始尺寸以宽度为例
2014/05/04 Javascript
JavaScript中匿名函数用法实例
2015/03/23 Javascript
javascript实现的网站访问量统计代码
2015/12/20 Javascript
Javascript对象字面量的理解
2016/06/22 Javascript
省市区三级联动jquery实现代码
2020/04/15 Javascript
微信小程序 条件渲染详解
2016/10/09 Javascript
基于JS组件实现拖动滑块验证功能(代码分享)
2016/11/18 Javascript
ECMAScript6 新特性范例大全
2017/03/24 Javascript
JS点击缩略图整屏居中放大图片效果
2017/07/04 Javascript
深入浅析JavaScript中的RegExp对象
2017/09/18 Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
2020/03/05 Javascript
[01:13:51]TNC vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[37:29]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.19
2020/11/19 DOTA
深入解析Python中函数的参数与作用域
2016/03/20 Python
使用Python机器学习降低静态日志噪声
2018/09/29 Python
程序员的七夕用30行代码让Python化身表白神器
2019/08/07 Python
Python FTP文件定时自动下载实现过程解析
2019/11/12 Python
Python爬虫解析网页的4种方式实例及原理解析
2019/12/30 Python
获取python运行输出的数据并解析存为dataFrame实例
2020/07/07 Python
Pycharm的Available Packages为空的解决方法
2020/09/18 Python
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
英国领先的办公用品供应商:Viking
2016/08/01 全球购物
无畏的旅行:Intrepid Travel
2017/12/20 全球购物
Room Mate Hotels美国:西班牙酒店品牌
2018/04/10 全球购物
软件测试有哪些?什么是配置项?
2012/02/12 面试题
舞出我人生观后感
2015/06/16 职场文书
2015年卫生院健康教育工作总结
2015/07/24 职场文书
Nginx+Windows搭建域名访问环境的操作方法
2022/03/17 Servers
Python FuzzyWuzzy实现模糊匹配
2022/04/28 Python