• <!doctype html>
    <html lang="en">
    <head>
    <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®">
    <meta name="Author" content="Create by double 2015-07-09"> <title>jquery实现tab</title>
    <script src="jquery-1.7.2.js"></script>
    <style>
    *{
    padding:0;
    margin:0;
    }
    ul{
    list-style-type:none;
    }
    #ul{
    height:30px;
    margin-bottom:10px;
    }
    body{
    margin:50px;
    }
    #ul li{
    height:30pxx;
    line-height:30px;
    padding:0 15px;
    border:1px solid #abcdef;
    float:left;
    margin-right:3px;
    cursor:pointer;
    }
    #ul li.current{
    background:#abcdef;
    }
    #content div{
    width:300px;
    height:200px;
    border:1px solid #abcdef;
    display:none; }
    #content div.show{
    display:block;
    }
    </style>
    </head>
    <body>
    <ul id="ul">
    <li class="current">php</li>
    <li>java</li>
    <li>js</li>
    </ul>
    <div id="content">
    <div class="show">php...介绍</div>
    <div>java...介绍</div>
    <div >js...介绍</div>
    </div>
    <script>
    //未使用事件委托
    var ul = document.getElementById('ul');
    var li = ul.getElementsByTagName('li');
    var content = document.getElementById('content');
    var div = content.getElementsByTagName('div');
    for(var i=0;i<li.length;i++){
    li[i].index = i;
    li[i].onclick=function(){
    for(var i=0;i<li.length;i++){
    li[i].className = ' ';
    div[i].style.display='none';
    };
    this.className='current';
    div[this.index].style.display='block';
    }
    } //采用事件委托处理
    var oul = document.getElementById('ul');
    var ali = ul.getElementsByTagName('li');
    var content = document.getElementById('content');
    var div = content.getElementsByTagName('div'); //ali[i].index = i;
    oul.onclick = function(ev) { var ev = ev || window.event;
    var target = ev.target || ev.srcElement; if(target.nodeName.toLowerCase() == "li"){ for(var i=0, len=ali.length; i<len; i++){ if(ali[i] == target){
    //alert(ali[i]);
    ali[i].className = "current";
    div[i].style.display = "block";
    }
    else{ ali[i].className = "";
    div[i].style.display = "none";
    }
    }
    }
    }
    //jquery实现更方便
    $('#ul li').click(function(){
    //点击li的时候要切换样式
    $(this).addClass('current').siblings().removeClass('current');
    //根据li的索引值,确定div的显示,其他隐藏
    $('#content>div').eq($(this).index()).show().siblings().hide();
    });
    //jquery实现更方便
    $('#ul li').click(function(){
    //点击li的时候要切换样式
    $(this).addClass('current').siblings().removeClass('current').parent().next().find('div').eq($(this).index()).show().siblings().hide();
    });
    </script>
    </body>
    </html>

js和jquery实现tab选项卡的更多相关文章

  1. 使用jQuery开发tab选项卡插件

    为了复习巩固jQuery的插件开发.HTML和CSS方面的知识,做了一个简单的tab选项卡插件,简单记录一下开发.使用的过程,以备日后使用. 一.插件效果 tab选项卡插件常用的功能均已实现,包括:动 ...

  2. jQuery实现TAB选项卡切换特效简单演示

    本文实例为大家分享jQuery实现TAB选项卡切换特效,供大家参考,具体内容如下 1.tab切换 on ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 ...

  3. 使用jQuery开发tab选项卡插件(可以右键关闭多个标签)

    在前一篇“使用jQuery开发tab选项卡插件”的基础上添加了tab标签右键关闭菜单功能,菜单主要包括:关闭当前标签.关闭左侧标签.关闭右侧标签.关闭其他.关闭全部. 一.插件效果 二.实现思路 为w ...

  4. DOM操作相关案例 模态对话框,简易留言板,js模拟选择器hover,tab选项卡,购物车案例

    1.模态框案例 需求: 打开网页时有一个普通的按钮,点击当前按钮显示一个背景图,中心并弹出一个弹出框,点击X的时候会关闭当前的模态框 代码如下: <!DOCTYPE html> <h ...

  5. jQuery实现tab选项卡效果小demo

    html页面: <section> <h2>Section Title</h2> <ul class="tab-nav"> < ...

  6. js 淡入淡出的tab选项卡

    代码如下 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF- ...

  7. jquery实现Tab选项卡菜单

    效果图: 默认选中  科技                                                                                 当鼠标悬停在 ...

  8. tab选项卡-jQuery

    上次用原生的js写了个tab选项卡   这次按照一样的思路用jQuery写了一个 ,直接看代码: /*布局*/ <div id="div1"> <input cl ...

  9. [js高手之路]jquery插件开发实战-选项卡详解

    在jquery中,插件开发常见的有: 一种是为$函数本身扩展一个方法,这种是静态扩展(也叫类扩展),这种插件一般是工具方法, 还有一种是扩展在原型对象$.fn上面的,开发出来的插件是用在dom元素上面 ...

随机推荐

  1. make clean vs make clobber

    make is pretty smart, and picks up what has changed from the last build, so if you run repo sync and ...

  2. kettle的jdk1.7环境变量配置

    1).到官网下载需要安装的kettle版本,目前最新版本4.2,官网地址:http://kettle.pentaho.org,我们是使用的版本是kettle3.2 2).本地安装jdk 1.4或以上版 ...

  3. BZOJ 2342 双倍回文(manacher算法)

    题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2342 题意:定义双倍回文串为:串的长度为4的倍数且串的前一半.后一半.串本身均是回文的. ...

  4. HDU 4651 Partition(整数拆分)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4651 题意:给出n.求其整数拆分的方案数. i64 f[N]; void init(){    f[0 ...

  5. Gliffy Diagrams 好用的流程图工具

    很好用!加上百度脑图!good!

  6. 一些数论概念与算法——从SGU261谈起

    话说好久没来博客上面写过东西了,之前集训过于辛苦了,但有很大的收获,我觉得有必要把它们拿出来总结分享.之前一直是个数论渣(小学初中没好好念过竞赛的缘故吧),经过一道题目对一些基础算法有了比较深刻的理解 ...

  7. c#调用系统资源大集合-2

    public static void 打开格式化对话框() { Process.Start("rundll32.exe"," shell32.dll,SHFormatDr ...

  8. 【笨嘴拙舌WINDOWS】设备无关图(*.bmp)

    设备无关图在windows上面就是一个扩展名为.bmp的文件.我们知道每一种文件都是一个二进制流,只是这个二进制流的开头几个字节是规定了文件的格式..bmp的文件格式如下 “其中信息头是windows ...

  9. android layoutparams应用指南(转)

    LayoutParams相当于一个Layout的信息包,它封装了Layout的位置.高.宽等信息.假设在屏幕上一块区域是由一个Layout占领的,如果将一个View添加到一个Layout中,最好告诉L ...

  10. Python内置数据类型之List篇

    List的定义: li = ["one" , "two" , "three" , "four"] List是一个有序的集 ...