基于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写了一个图片的马赛克消失效果
May 04 Javascript
jQuery使用drag效果实现自由拖拽div
Jun 11 Javascript
有关Promises异步问题详解
Nov 13 Javascript
JavaScript+html5 canvas实现本地截图教程
Apr 16 Javascript
js中常用的Tab切换效果(推荐)
Aug 30 Javascript
AngularJs  E2E Testing 详解
Sep 02 Javascript
js当前页面登录注册框,固定div,底层阴影的实例代码
Oct 04 Javascript
Vue响应式原理详解
Apr 18 Javascript
React复制到剪贴板的示例代码
Aug 22 Javascript
vue axios请求频繁时取消上一次请求的方法
Nov 10 Javascript
vuex如何重置所有state(可定制)
Jan 17 Javascript
js抽奖转盘实现方法分析
May 16 Javascript
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
php简单实现发送带附件的邮件
2015/06/10 PHP
php getcwd与dirname(__FILE__)区别详解
2016/09/24 PHP
php中上传文件的的解决方案
2018/09/25 PHP
php数组指针函数功能及用法示例
2020/02/11 PHP
符合W3C网页标准的iframe标签的使用方法
2007/07/19 Javascript
Jquery练习之表单验证实现代码
2010/12/14 Javascript
谈谈js中的prototype及prototype属性解释和常用方法
2015/11/25 Javascript
BootStrap Validator 版本差异问题导致的submitHandler失效问题的解决方法
2016/12/01 Javascript
Bootstrap modal 多弹窗之叠加显示不出弹窗问题的解决方案
2017/02/23 Javascript
AngularJS获取json数据的方法详解
2017/05/27 Javascript
vue过渡和animate.css结合使用详解
2017/06/14 Javascript
js解决软键盘遮挡输入框的问题分享
2017/12/19 Javascript
jquery将信息遍历到界面上实例代码
2020/01/21 jQuery
js 数组当前行添加数据方法详解
2020/07/28 Javascript
详解python3中socket套接字的编码问题解决
2017/07/01 Python
Python调用C# Com dll组件实战教程
2017/10/12 Python
[原创]python爬虫(入门教程、视频教程)
2018/01/08 Python
PyQT实现多窗口切换
2018/04/20 Python
PyTorch线性回归和逻辑回归实战示例
2018/05/22 Python
Python闭包执行时值的传递方式实例分析
2018/06/04 Python
详解通过API管理或定制开发ECS实例
2018/09/30 Python
django-初始配置(纯手写)详解
2019/07/30 Python
python opencv 实现对图像边缘扩充
2020/01/19 Python
pycharm设置当前工作目录的操作(working directory)
2020/02/14 Python
Python 调用有道翻译接口实现翻译
2020/03/02 Python
Python实现Wordcloud生成词云图的示例
2020/03/30 Python
python argparse模块通过后台传递参数实例
2020/04/20 Python
python框架flask入门之环境搭建及开启调试
2020/06/07 Python
python PyAUtoGUI库实现自动化控制鼠标键盘
2020/09/09 Python
简单几步用纯CSS3实现3D翻转效果
2019/01/17 HTML / CSS
加拿大知名的国际儿童品牌:Hatley
2016/11/09 全球购物
如何设置Java的运行环境
2013/04/05 面试题
几个SQL的面试题
2014/03/08 面试题
学校师德师风自我剖析材料
2014/09/29 职场文书
告知书格式
2015/07/01 职场文书
85句关于理想的名言警句大全
2019/08/22 职场文书