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

 更新时间:2015年10月20日 14:48:24   投稿:mrr  
我们使用移动端时可以通过触屏手势左右滑动来切换TAB栏目,如网易新闻等APP栏目切换。我们说的TAB一般由导航条和TAB对应的内容组成,切换导航条上的标签同时标签对应的内容也会跟着切换。本文将结合实例给大家介绍一个移动端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://www.jb51.net/css.html" class="active">CSS3</a></li> 
     <li><a href="#https://www.jb51.net/jquery.html">JAVASCRIPT</a></li> 
    <li><a href="#https://www.jb51.net/php.html">PHP</a></li> 
    <li><a href="#https://www.jb51.net/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闭包

    继续学习javascript闭包

    这篇文章主要还是继续学习javascript闭包,理解JavaScript的闭包是迈向高级JS程序员的必经之路,需要的朋友可以参考下
    2015-12-12
  • Bootstrap布局之栅格系统学习笔记

    Bootstrap布局之栅格系统学习笔记

    这篇文章主要为大家详细介绍了Bootstrap布局之栅格系统的学习笔记,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • 详解ES6之用let声明变量以及let loop机制

    详解ES6之用let声明变量以及let loop机制

    本篇文章主要介绍了详解ES6之用let声明变量以及let loop机制,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • layui实现图片虚拟路径上传,预览和删除的例子

    layui实现图片虚拟路径上传,预览和删除的例子

    今天小编就为大家分享一篇layui实现图片虚拟路径上传,预览和删除的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • 一文学会JavaScript如何手写防抖节流

    一文学会JavaScript如何手写防抖节流

    其实防抖和节流不仅仅在面试中会让大家手写,在实际项目中也可以起到性能优化的作用,所以还是很有必要掌握的。这篇文章就带大家彻底学会JavaScript手写防抖节流,希望对大家有所帮助
    2022-11-11
  • javascript提取URL的搜索字符串中的参数(自定义函数实现)

    javascript提取URL的搜索字符串中的参数(自定义函数实现)

    我们经常会看到有的页面链接地址后面会跟有参数,很多时候我们需要获得这些参数的值,接下来将介绍获取方法,感兴趣的朋友可以了解系,希望本文对你有所帮助
    2013-01-01
  • 关于自定义Egg.js的请求级别日志详解

    关于自定义Egg.js的请求级别日志详解

    这篇文章主要给大家介绍了关于自定义Egg.js的请求级别日志的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • 使用TypeScript实现杨辉三角的代码示例

    使用TypeScript实现杨辉三角的代码示例

    杨辉三角,又称帕斯卡三角,是一个数学上非常有趣和重要的概念,它是一种数学结构,它不仅可以用于组合数学,还可以应用于代数、概率和许多其他领域,在本文中,我们将通过使用 TypeScript 来编写杨辉三角的程序,同时深入探讨 TypeScript 的类型系统
    2023-09-09
  • JavaScript蒙板(model)功能的简单实现代码

    JavaScript蒙板(model)功能的简单实现代码

    本文给大家介绍JavaScript蒙板(model)功能的简单实现代码,创建一个蒙板, 设置蒙板的堆叠顺序保证能将其它元素盖住,感兴趣的朋友可以参考下实现代码
    2016-08-08
  • Javascript中的高阶函数介绍

    Javascript中的高阶函数介绍

    这篇文章主要介绍了Javascript中的高阶函数介绍,本文讲解了什么是高阶函数、Javascript的高阶函数、还原高阶函数、高阶函数使用实例等内容,需要的朋友可以参考下
    2015-03-03

最新评论