基于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 ajax 登录验证实现代码
Sep 23 Javascript
用JQuery调用Session的实现代码
Oct 29 Javascript
基于jquery的仿百度搜索框效果代码
Apr 11 Javascript
如何在指定的地方插入html内容和文本内容
Dec 23 Javascript
微信支付如何实现内置浏览器的H5页面支付
Sep 25 Javascript
JS实现评价的星星功能
Aug 20 Javascript
基于jQuery实现的单行公告活动轮播效果
Aug 23 jQuery
分析JS单线程异步io回调的特性
Dec 01 Javascript
基于百度地图api清除指定覆盖物(Overlay)的方法
Jan 26 Javascript
vue修改对象的属性值后页面不重新渲染的实例
Aug 09 Javascript
JS获取本地地址及天气的方法实例小结
May 10 Javascript
Vue跨域请求问题解决方案过程解析
Aug 07 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
雄兵连三大错觉:凯莎没了,凉冰阵亡了,华烨觉得自己又行了
2020/04/09 国漫
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
2011/08/03 PHP
基于MySQL分区性能的详细介绍
2013/05/02 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
2015/12/14 PHP
PHP7新特性
2021/03/09 PHP
jQuery下的几个你可能没用过的功能
2010/08/29 Javascript
div层的移动及性能优化
2010/11/16 Javascript
Js event事件在IE、FF兼容性问题
2011/01/01 Javascript
在javaScript中关于submit和button的区别介绍
2013/10/20 Javascript
jquery中EasyUI实现同步树
2015/03/01 Javascript
jquery跟随屏幕滚动效果的实现代码
2016/04/13 Javascript
JavaScript设计模式之策略模式详解
2017/06/09 Javascript
详解js几个绕不开的事件兼容写法
2017/08/30 Javascript
React Native中TabBarIOS的简单使用方法示例
2017/10/13 Javascript
使用vue实现简单键盘的示例(支持移动端和pc端)
2017/12/25 Javascript
vue引入ueditor及node后台配置详解
2018/01/03 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
微信小程序绘制图片发送朋友圈
2019/07/25 Javascript
ES6基础之 Promise 对象用法实例详解
2019/08/22 Javascript
JavaScript JSON使用原理及注意事项
2020/07/30 Javascript
JavaScript 如何在浏览器中使用摄像头
2020/12/02 Javascript
vue 通过base64实现图片下载功能
2020/12/19 Vue.js
微信小程序自定义胶囊样式
2020/12/27 Javascript
Python tornado队列示例-一个并发web爬虫代码分享
2018/01/09 Python
Python设计模式之迭代器模式原理与用法实例分析
2019/01/10 Python
Pyqt5如何让QMessageBox按钮显示中文示例代码
2019/04/11 Python
如何更优雅地写python代码
2019/07/02 Python
Python数据处理篇之Sympy系列(五)---解方程
2019/10/12 Python
Python通过len函数返回对象长度
2020/10/22 Python
企业文化宣传标语
2014/06/09 职场文书
软件测试专业推荐信
2014/09/18 职场文书
2019年幼儿园家长接送责任书
2019/10/29 职场文书
python实现简单区块链结构
2021/04/25 Python
Python Pandas 删除列操作
2022/03/16 Python
MongoDB数据库之添删改查
2022/04/26 MongoDB
MySQL 字符集 character
2022/05/04 MySQL