基于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内容过滤选择器选择元素实例讲解
Apr 18 Javascript
使用非html5实现js板连连看游戏示例代码
Sep 22 Javascript
利用Keydown事件阻止用户输入实现代码
Mar 11 Javascript
jQuery多项选项卡的实现思路附样式及代码
Jun 03 Javascript
Javascript使用post方法提交数据实例
Aug 03 Javascript
jQuery实现信息提示框(带有圆角框与动画)效果
Aug 07 Javascript
常用javascript表单验证汇总
Jul 20 Javascript
Angular.js 实现数字转换汉字实例代码
Jul 14 Javascript
AngularJS基础 ng-keypress 指令简单示例
Aug 02 Javascript
js学习总结_轮播图之渐隐渐现版(实例讲解)
Jul 17 Javascript
解决vue.js this.$router.push无效的问题
Sep 03 Javascript
iview form清除校验状态的实现
Sep 19 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
WINDOWS 2000下使用ISAPI方式安装PHP
2006/09/05 PHP
php 格式化数字的时候注意数字的范围
2010/04/13 PHP
探讨如何把session存入数据库
2013/06/07 PHP
深入理解php的MySQL连接类
2013/06/07 PHP
PHP面向对象教程之自定义类
2014/06/10 PHP
form自动提交实例讲解
2017/07/10 PHP
禁止刷新,回退的JS
2006/11/25 Javascript
Javascript实现简单的富文本编辑器附演示
2014/06/16 Javascript
JavaScript中变量声明有var和没var的区别示例介绍
2014/09/15 Javascript
jQuery分页插件jquery.pagination.js使用方法解析
2017/02/09 Javascript
使用 Node.js 模拟滑动拼图验证码操作的示例代码
2017/11/02 Javascript
Nuxt.js实战和配置详解
2019/08/05 Javascript
原生JavaScript实现轮播图
2021/01/10 Javascript
[15:39]教你分分钟做大人:龙骑士
2014/10/30 DOTA
[01:53]2016完美“圣”典风云人物:Maybe专访
2016/12/05 DOTA
[47:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第二场 3月4日
2021/03/11 DOTA
使用PYTHON接收多播数据的代码
2012/03/01 Python
Python模块学习 datetime介绍
2012/08/27 Python
python将一组数分成每3个一组的实例
2018/11/14 Python
网易有道2017内推编程题 洗牌(python)
2019/06/19 Python
Python入门Anaconda和Pycharm的安装和配置详解
2019/07/16 Python
Django 自定义权限管理系统详解(通过中间件认证)
2020/03/11 Python
深入剖析webstorage[html5的本地数据处理]
2016/07/11 HTML / CSS
html5 css3实例教程 一款html5和css3实现的小机器人走路动画
2014/10/20 HTML / CSS
HTML5中的进度条progress元素简介及兼容性处理
2016/06/02 HTML / CSS
浅析canvas元素的html尺寸和css尺寸对元素视觉的影响
2019/07/22 HTML / CSS
Notino希腊:购买香水和美容产品
2019/07/25 全球购物
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
2014/01/18 面试题
淘宝网店营销策划书
2014/01/11 职场文书
宿舍标语大全
2014/06/19 职场文书
新闻传播专业求职信
2014/07/22 职场文书
医院护士见习期自我鉴定
2014/09/15 职场文书
2014幼儿园保育员工作总结
2014/11/10 职场文书
毕业生捐书活动倡议书
2015/04/27 职场文书
同学聚会感言一句话
2015/07/30 职场文书
【海涛教你打DOTA】剑圣第一人称视角解说
2022/04/01 DOTA