基于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 相关文章推荐
不用写JS也能使用EXTJS视频演示
Dec 29 Javascript
jQuery下的几个你可能没用过的功能
Aug 29 Javascript
js正则表达式的使用详解
Jul 09 Javascript
javascript:文字不间断向左移动的实例代码
Aug 08 Javascript
jquery获取div距离窗口和父级dv的距离示例
Oct 10 Javascript
在Javascript中处理字符串之big()方法的使用
Jun 08 Javascript
将页面table内容与样式另存成excel文件的方法
Aug 05 Javascript
清除输入框内的空格
Dec 21 Javascript
angularjs使用directive实现分页组件的示例
Feb 07 Javascript
JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】
Apr 01 Javascript
微信小程序 跳转传递数据的实例
Jul 06 Javascript
微信小程序实现带缩略图轮播效果
Nov 04 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+Html+缓存
2006/11/25 PHP
PHP 作用域解析运算符(::)
2010/07/27 PHP
PHP中数字检测is_numeric与ctype_digit的区别介绍
2012/10/04 PHP
有关PHP性能优化的介绍
2013/06/20 PHP
ThinkPHP和UCenter接口冲突的解决方法
2016/07/25 PHP
Laravel学习教程之model validation的使用示例
2017/10/23 PHP
IE6下js通过css隐藏select的一个bug
2010/08/16 Javascript
国外大牛IE版本检测!现在IE都到9了,IE检测代码
2012/01/04 Javascript
jquery text()方法取标签中的文本
2014/07/25 Javascript
Google Maps API地图应用示例分享
2014/10/23 Javascript
JS+CSS实现带有碰撞缓冲效果的竖向导航条代码
2015/09/15 Javascript
浅谈通过JS拦截 pushState和replaceState事件
2017/07/21 Javascript
动态加载、移除js/css文件的示例代码
2018/03/20 Javascript
element-ui多文件上传的实现示例
2019/04/10 Javascript
vue实现手机端省市区区域选择
2019/09/27 Javascript
layer.confirm()右边按钮实现href的例子
2019/09/27 Javascript
vue.js自定义组件实现v-model双向数据绑定的示例代码
2020/01/08 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
2020/10/31 Javascript
[02:04]完美世界城市挑战赛秋季赛报名开始 谁是solo路人王?
2019/10/10 DOTA
浅谈python中requests模块导入的问题
2018/05/18 Python
Python实现的网页截图功能【PyQt4与selenium组件】
2018/07/12 Python
Python3中编码与解码之Unicode与bytes的讲解
2019/02/28 Python
详解如何管理多个Python版本和虚拟环境
2019/05/10 Python
python实现简单五子棋游戏
2019/06/18 Python
django中使用POST方法获取POST数据
2019/08/20 Python
利用matplotlib实现根据实时数据动态更新图形
2019/12/13 Python
django API 中接口的互相调用实例
2020/04/01 Python
Pandas DataFrame求差集的示例代码
2020/12/13 Python
用CSS3将你的设计带入下个高度
2009/08/08 HTML / CSS
如何用border-image实现文字气泡边框的示例代码
2020/01/21 HTML / CSS
电焊工工作岗位职责
2014/02/06 职场文书
数字化校园建设方案
2014/05/03 职场文书
《女娲补天》教学反思
2016/02/20 职场文书
2019送给家人们的中秋节祝福语
2019/08/15 职场文书
2019年家电促销广告语集锦
2019/10/21 职场文书
一篇文章弄懂MySQL查询语句的执行过程
2021/05/07 MySQL