jQuery网页选项卡插件rTabs用法实例分析


Posted in Javascript onAugust 26, 2015

本文实例讲述了jQuery网页选项卡插件rTabs用法。分享给大家供大家参考。具体如下:

这里介绍jQuery网页选项卡插件rTabs用法,一共演示了4种TAB选项卡样式,第一种:默认样式:自动运行、无动画效果、Hover事件;第二种:自动运行、向上滚动、支持Hover事件的TAB选项卡菜单;第三种:自动运行、渐入淡出、支持Hover事件的选项卡;第四种:自动运行、向左滚动、点击事件的网页选项卡,选一个你喜欢的放在你的网站吧。

先来看看运行效果截图:

jQuery网页选项卡插件rTabs用法实例分析

在线演示地址如下:

具体代码如下:

<!DOCTYPE html>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery - rTabs选项卡插件</title>
<head>
<script id="jquery_172" type="text/javascript" class="library" src="jquery-1.6.2.min.js"></script>
<script type="text/javascript">
(function($){
 $.fn.rTabs = function(options){
  //默认值
  var defaultVal = {
  btnClass:'.j-tab-nav', /*按钮的父级Class*/
  conClass:'.j-tab-con', /*内容的父级Class*/
  bind:'hover', /*事件参数 click,hover*/
  animation:'0', /*动画方向 left,up,fadein,0 为无动画*/
  speed:300,  /*动画运动速度*/
  delay:200, /*Tab延迟速度*/
  auto:true, /*是否开启自动运行 true,false*/
  autoSpeed:3000 /*自动运行速度*/
  };
  //全局变量
  var obj = $.extend(defaultVal, options),
  evt = obj.bind,
  btn = $(this).find(obj.btnClass),
  con = $(this).find(obj.conClass),
  anim = obj.animation,
  conWidth = con.width(),
  conHeight = con.height(),
  len = con.children().length,
  sw = len * conWidth,
  sh = len * conHeight,
  i = 0,
  len,t,timer;
  return this.each(function(){
  //判断动画方向
  function judgeAnim(){
   var w = i * conWidth,
   h = i * conHeight;
  btn.children().removeClass('current').eq(i).addClass('current');
   switch(anim){
   case '0':
   con.children().hide().eq(i).show();
   break;
   case 'left':
   con.css({position:'absolute',width:sw}).children().css({float:'left',display:'block'}).end().stop().animate({left:-w},obj.speed);
   break;
   case 'up':
   con.css({position:'absolute',height:sh}).children().css({display:'block'}).end().stop().animate({top:-h},obj.speed);
   break;
   case 'fadein':
   con.children().hide().eq(i).fadeIn();
   break;
   }
  }
  //判断事件类型
  if(evt == "hover"){
   btn.children().hover(function(){
    var j = $(this).index();
    function s(){
    i = j;
    judgeAnim();
    }
    timer=setTimeout(s,obj.delay);
    }, function(){
     clearTimeout(timer);
    })
   }else{
    btn.children().bind(evt,function(){
     i = $(this).index();
     judgeAnim();
    })
   }
   //自动运行
   function startRun(){
    t = setInterval(function(){
     i++;
     if(i>=len){
      switch(anim){
       case 'left':
       con.stop().css({left:conWidth});
       break;
       case 'up':
       con.stop().css({top:conHeight});
      } 
      i=0;
     }
     judgeAnim();
    },obj.autoSpeed)
   }
   //如果自动运行开启,调用自动运行函数
   if(obj.auto){
    $(this).hover(function(){
     clearInterval(t);
    },function(){
     startRun();
    })
    startRun();
   }
  })
 }
})(jQuery);
</script>
<script type="text/javascript">
   $(function() {
    $("#tab").rTabs();
    $("#tab2").rTabs({
     bind : 'click',
     animation : 'left'
    });
    $("#tab3").rTabs({
     bind : 'hover',
     animation : 'up'
    });
    $("#tab4").rTabs({
     bind : 'hover',
     animation : 'fadein'
    });
   })
  </script>
<style>
body{background:#fff;}h2{width: 400px;margin: 0 auto 10px auto;font-size: 18px;font-family: "微软雅黑";color: #333;}.tab{position: relative;width: 400px;height: 230px;overflow: hidden;margin: 0 auto 20px auto;font-family: Arial;}.tab-nav{height: 30px;overflow: hidden;background: #f5f5f5;}.tab-nav a{display: block;float: left;width: 80px;height: 30px;line-height: 30px;text-align: center;text-decoration: none;color: #999;}.tab-nav a.current{background: #80b600;color: #fff;}.tab-con{position: relative;width: 400px;height: 200px;overflow: hidden;background: #80b600;}.tab-con-item{display: none;width: 400px;height: 180px;line-height: 180px;text-align: center;color: #fff;}
</style>
</head>
<body>
<h1>如果初次打开网页运行有错误看不到效果,请按F5或刷新网页重新载入即可。</h1></br>
<h2>默认样式:自动运行、无动画效果、Hover事件</h2>
<div class="tab" id="tab">
 <div class="tab-nav j-tab-nav">
  <a href="javascript:void(0);" class="current">Tab1</a>
  <a href="javascript:void(0);">Tab2</a>
  <a href="javascript:void(0);">Tab3</a>
  <a href="javascript:void(0);">Tab4</a>
  <a href="javascript:void(0);">Tab5</a>
 </div>
 <div class="tab-con">
  <div class="j-tab-con">
   <div class="tab-con-item" style="display:block;">111111</div>
     <div class="tab-con-item">222222</div>
     <div class="tab-con-item">333333</div>
     <div class="tab-con-item">444444</div>
     <div class="tab-con-item">555555</div>
   </div>
  </div>
 </div>
<h2>自动运行、向左滚动、点击事件</h2>
<div class="tab" id="tab2">
 <div class="tab-nav j-tab-nav">
  <a href="javascript:void(0);" class="current">Tab1</a>
  <a href="javascript:void(0);">Tab2</a>
  <a href="javascript:void(0);">Tab3</a>
  <a href="javascript:void(0);">Tab4</a>
  <a href="javascript:void(0);">Tab5</a>
 </div>
<div class="tab-con">
<div class="j-tab-con">
<div class="tab-con-item" style="display:block;">111111</div>
<div class="tab-con-item">222222</div>
<div class="tab-con-item">333333</div>
<div class="tab-con-item">444444</div>
<div class="tab-con-item">555555</div>
</div>
</div>
</div>
<h2>自动运行、向上滚动、Hover事件</h2>
 <div class="tab" id="tab3">
  <div class="tab-nav j-tab-nav">
   <a href="javascript:void(0);" class="current">Tab1</a>
   <a href="javascript:void(0);">Tab2</a>
   <a href="javascript:void(0);">Tab3</a>
   <a href="javascript:void(0);">Tab4</a>
   <a href="javascript:void(0);">Tab5</a>
  </div>
 <div class="tab-con">
  <div class="j-tab-con">
   <div class="tab-con-item" style="display:block;">111111</div>
   <div class="tab-con-item">222222</div>
   <div class="tab-con-item">333333</div>
   <div class="tab-con-item">444444</div>
   <div class="tab-con-item">555555</div>
   </div>
 </div>
</div>
<h2>自动运行、渐入、Hover事件</h2>
  <div class="tab" id="tab4">
   <div class="tab-nav j-tab-nav">
    <a href="javascript:void(0);" class="current">Tab1</a>
    <a href="javascript:void(0);">Tab2</a>
    <a href="javascript:void(0);">Tab3</a>
    <a href="javascript:void(0);">Tab4</a>
    <a href="javascript:void(0);">Tab5</a>
   </div>
   <div class="tab-con">
    <div class="j-tab-con">
    <div class="tab-con-item" style="display:block;">111111</div>
    <div class="tab-con-item">222222</div>
    <div class="tab-con-item">333333</div>
    <div class="tab-con-item">444444</div>
    <div class="tab-con-item">555555</div>
   </div>
  </div>
 </div>
</body>
</html>

希望本文所述对大家的jquery程序设计有所帮助。

Javascript 相关文章推荐
defer属性导致引用JQuery的页面报“浏览器无法打开网站xxx,操作被中止”错误的解决方法
Apr 27 Javascript
extjs之去除s.gif的影响
Dec 25 Javascript
JS版的date函数(和PHP的date函数一样)
May 12 Javascript
jQuery中的编程范式详解
Dec 15 Javascript
使用javascript实现Iframe自适应高度
Dec 24 Javascript
鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解
Mar 12 Javascript
Radio 单选JS动态添加的选项onchange事件无效的解决方法
Dec 12 Javascript
JavaScript数据结构之二叉树的删除算法示例
Apr 13 Javascript
Vue响应式原理深入解析及注意事项
Dec 11 Javascript
elementUI table表格动态合并的示例代码
May 15 Javascript
小程序rich-text组件如何改变内部img图片样式的方法
May 22 Javascript
vue基础知识--axios合并请求和slot
Jun 04 Javascript
jQuery实现带滑动条的菜单效果代码
Aug 26 #Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
Aug 26 #Javascript
js鼠标点击图片切换效果代码分享
Aug 26 #Javascript
jQuery实现的网页竖向菜单效果代码
Aug 26 #Javascript
javascript中的五种基本数据类型
Aug 26 #Javascript
js控制多图左右滚动切换效果代码分享
Aug 26 #Javascript
简介alert()与console.log()的不同
Aug 26 #Javascript
You might like
4.与数据库的连接
2006/10/09 PHP
php中一个完整表单处理实现代码
2011/11/10 PHP
php 伪静态之IIS篇
2014/06/02 PHP
php打印输出棋盘的实现方法
2014/12/23 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
javascript修改表格背景色实例代码分享
2013/12/10 Javascript
JavaScript通过元素的ID和name设置样式
2014/07/08 Javascript
jQuery选择器源码解读(四):tokenize方法的Expr.preFilter
2015/03/31 Javascript
详解RequireJs官方使用教程
2017/10/31 Javascript
使用Angular CLI生成 Angular 5项目教程详解
2018/03/18 Javascript
微信小程序开发之自定义tabBar的实现
2018/09/06 Javascript
Layui 带多选框表格监听事件以及按钮自动点击写法实例
2019/09/02 Javascript
解决layui的form里的元素进行动态生成,验证失效的问题
2019/09/14 Javascript
[58:42]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第一局
2016/02/27 DOTA
[01:10:02]IG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python django集成cas验证系统
2014/07/14 Python
Python3实现并发检验代理池地址的方法
2016/09/18 Python
20招让你的Python飞起来!
2016/09/27 Python
解决python3 json数据包含中文的读写问题
2018/05/10 Python
Python决策树之基于信息增益的特征选择示例
2018/06/25 Python
Python中存取文件的4种不同操作
2018/07/02 Python
python实现批量视频分帧、保存视频帧
2019/05/31 Python
韩国美国时尚服装和美容在线全球市场:KOODING
2018/11/07 全球购物
党章学习思想汇报
2014/01/14 职场文书
机械设计毕业生自荐信
2014/02/02 职场文书
销售会计岗位职责
2014/03/15 职场文书
学校课外活动总结
2014/05/08 职场文书
平面设计专业求职信
2014/08/09 职场文书
企业公益活动策划方案
2014/08/24 职场文书
个人授权委托书样本
2014/09/13 职场文书
出国签证在职证明
2014/09/20 职场文书
先进党支部申报材料
2014/12/24 职场文书
教师个人学习总结
2015/02/11 职场文书
2016圣诞节贺卡寄语
2015/12/07 职场文书
导游词之江苏同里古镇
2019/11/18 职场文书
mysql联合索引的使用规则
2021/06/23 MySQL