jQuery实现Tab选项卡切换效果简单演示

本文实例针对jQuery实现Tab选项卡切换效果进行了简单演示,完全是自己的思考实现过程,分享给大家供大家参考。具体如下:

起初我Html代码架子是这样的:

<div class="tabs">  
  <ul>
   <li class="acss" data-box="#panel-1">标签1</li>
   <li class="bcss" data-box="#panel-2">标签2</li>
   <li class="bcss" data-box="#panel-3">标签3</li>
  </ul>
  <div id="panel-1">内容111111</div>
  <div id="panel-2">内容222222</div>
  <div id="panel-3">内容333333</div>
</div>

后来换成了下面这个:

<dl class="tabs">
  <dt>
   <a class="acss" href=#>

之所以换成这个,是因为我觉得 dl dt dd 在页面布局中用的比 div ul li 要少,这样可以做到更好的隔离性。我们用js操作dl dt dd 对象,就会更少的影响到页面内其它元素,还有就是不用在li标签中自定义data-box属性,更符合页面书写标准。而且这个结构的整体感觉也比上面那个好。
插件的实现代码如下:

(function ($) {
   $.fn.Tabs = function (options) {
    //默认参数设置
    var settings = {
     beforeCss: "bcss", //激活前样式名
     afterCss: "acss", //激活后样式名
     model: "mouseover" //切换方式("mouseover"或者"click")
    };

    //不为空,则合并参数
    if (options)
     $.extend(settings, options);

    //获取a标签集合
    var arr_a = $("> dt > a", this);

    //给a标签分别绑定事件
    arr_a.each(function () {
     $(this).bind(settings.model, function (event) {
              //去除a标签的锚点跳转
         event.preventDefault();
      //样式控制
      $(this).removeClass().addClass(settings.afterCss)
      .siblings("a").removeClass().addClass(settings.beforeCss);
      //隐藏与显示控制
      var dd_id = $(this).attr("href");
      $(dd_id).show().siblings("dd").hide();
     });
    });

    //遵循链式原则
    return this.each(function () { });
   };
})(jQuery);

之所以说是轻量级,是因为代码量真的很少,也很简单。加了注释相信大家都可以看懂。

其中settings中的model是用来控制切换方式的:

  • 当为"click"时,点击实现切换;
  • 当为"mouseover"时,鼠标滑入实现切换。

开始时是想用hover来实现鼠标滑入切换的,结果发现,hover不支持bind绑定。因为hover是jquery通过封装 mouseover事件 的产物,它并不是一个正宗的事件,因此无法绑定。
下面给出个DEMO:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <title></title>
 <style type="text/css">
  *
  {
   margin: 0;
   padding: 0;
  }    
  .tabs
  {
   width: 504px;
   margin: 50px auto;
   }
   
   .acss,.bcss
   {   
   text-decoration:none;
   line-height: 35px;
   font-size: 14px;
   padding:8px 15px;    
   }
   
   .bcss
   {
    background-color: #D4D4D4;
    border-bottom:1px solid white;
    }
   .acss
   {
    background-color: orange;
    border-bottom:1px solid orange;
    }   
   .tabs dd
   {
   width: 500px;
   height: 300px;
   border: 1px solid orange;
   text-align: center;
   line-height: 300px;
   }
 </style>
</head>
<body>
 
 <dl class="tabs" id="tabs1">
  <dt>
   <a class="acss" href=#>

效果图如下:

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

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。
本文实例讲述了jquery无限级联下拉菜单代码以及jquery无限级联下拉菜单实现思路。分享给大家供大家参考。具体如下: 最终效果图: 因为是级联,所以数据必须是树型结构的,这里的测试数据如下: 看下效果图: 1、效果图一: 2、效果图二: 3、效果图三: 由图可知,下拉框的个数并不是写死的,而是动态加载的。每当下拉框选择改变的时候,会发送一次ajax请求,请求成功返回json格式数据,当返回的数据不为空时(即有子节点时),则会向页面中添加一个下拉框,没有则不添加。 插件的实现代码如下: (functio
本文实例讲述了JavaScript实现的伸展收缩型菜单代码。分享给大家供大家参考。具体如下: 运行效果截图如下: 鼠标悬浮时菜单项向上移动成蓝底白字,点击之后底部会有蓝条表示当前选中项。 页面代码,菜单的每一项都是一个 div ,其中包括一个 ul 用来放置显示文字等,另一个 div 则是底部的蓝条,需要给第一项和最后一项设置不同的 class ,样式需要用到: div id="nav" div class="navItem indexNavItem" ul class="navUl" li首页/li l
实现代码一、 !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htmlhead meta http-equiv="Content-Type" content="text/html; charset=gb2312" / title无标题文档/title !--***********开始*************-- script type="text/javascript" //![CDATA[ var tips; var the

Jquery 效果使用详解 - 2015-11-24 17:11:26

jQuery是一款同prototype一样优秀js开发库类,特别是对css和XPath的支持,使我们写js变得更加方便!如果你不是个js高手又想写出优 秀的js效果,jQuery可以帮你达到目的! .hide() 隐藏匹配的元素。 .hide() 这个方法不接受任何参数。 .hide([duration][,complete]) duration 一个字符串或者数字决定动画将运行多久。 complete 在动画执行完时执行的函数。 .hide([duration][,easing][,complete])
HTML中的JavaScript脚本必须位于script与/script标签之间,JavaScript脚本可被放置在HTML页面的body标签和head标签中,这种视情况而定,一般放在head标签内。 一、script 标签 如需在HTML页面中插入JavaScript脚本,请使用script标签。script和/script会告诉JavaScript在何处开始 和结束。script和/script之间的代码行包含了JavaScript: spanscript type="text/javascript"
为了便于操作基本类型值,ECMAScript还提供了3个特殊的引用类型:Boolean,Number,String. 实际上,每当读取一个基本类型值的时候,后台应付创建一个对应的基本包装类型的对象,从而让我们能够调用一些方法来操作这些数据. var s1="some text"; var s2=s1.substring(2); console.log(s2);//me text 这个例子中s1包含了一个字符串,字符串是基本类型值.第二行调用了s1的subsstring()方法,并将返回的结果保存在了s2中
一、垃圾回收机制—GC Javascript具有自动垃圾回收机制(GC:Garbage Collecation),也就是说,执行环境会负责管理代码执行过程中使用的内存。 原理: 垃圾收集器会定期(周期性) 找出那些不在继续使用的变量,然后释放其内存。 JavaScript垃圾回收的机制很简单:找出不再使用的变量,然后释放掉其占用的内存,但是这个过程不是实时的,因为其开销比较大,所以垃圾回收器会按照固 定的时间间隔周期性的执行 。 不再使用的变量也就是生命周期结束的变量,当然只可能是局部变量,全局变量的生命

JS鼠标拖拽实例分析 - 2015-11-24 15:11:48

本文实例讲述了JS鼠标拖拽实现方法。分享给大家供大家参考,具体如下: JS代码: scriptwindow.onload=function(){ var oDiv=document.getElementById('div'); var disX=0; var disY=0; oDiv.onmousedown=function(ev) //鼠标按下DIV { var oEvent=ev||event; disX=oEvent.clientX-oDiv.offsetLeft; //鼠标的X坐标减去DIV的左边

jquery自定义表格样式 - 2015-11-24 15:11:46

本文实例讲述了jquery自定义表格样式实现代码。分享给大家供大家参考。具体如下: 运行效果截图如下: 上面这张图有3种状态,默认状态(灰白相间),鼠标悬浮状态(绿色),鼠标点击状态(黄色),是如何实现的呐? Html代码如下: table thead tr td编号/td td姓名/td td年龄/td td操作/td /tr /thead tbody tr td1111/td td1111/td td1111/td tdinput type="button" value="查看" /input typ
JQuery实现简单的图片滑动切换特效 headmeta http-equiv="Content-Type" content="text/html; charset=utf-8"/ titlet图片的滑动/title meta charset="utf-8" / style type="text/css" *{ margin:0; padding:0; } #main{ width:1089px; height:360px; margin:100px; background:url(../image/7.