• <!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. Write operations are not allowed in read-only mode

    使用Spring提供的Open Session In View而引起Write operations are not allowed in read-only mode (FlushMode.NEVE ...

  2. Android应用开发学习笔记之事件处理

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Android提供的事件处理机制分为两类:一是基于监听的事件处理:二是基于回调的事件处理.对于基于监听的事件处理,主 ...

  3. Objective-C编码规范:26个方面解决iOS开发问题

    介绍 我们制定Objective-C编码规范的原因是我们能够在我们的书,教程和初学者工具包的代码保持优雅和一致.即使我们有很多不同的作者来完成不同的书籍. 这里编码规范有可能与你看到的其他Object ...

  4. CMS 垃圾回收日志

    CMS 垃圾回收日志 https://blogs.oracle.com/poonam/entry/understanding_cms_gc_logs http://www.blogjava.net/D ...

  5. JAVA使用JNI调用C++动态链接库

    JAVA使用JNI调用C++动态链接库 使用JNI连接DLL动态链接库,并调用其中的函数 首先 C++中写好相关函数,文件名为test.cpp,使用g++编译为DLL文件,指令如下: g++ -sha ...

  6. C#配置系统未能初始化

    如果配置文件中包含 configSections 元素,则 configSections 元素必须是 configuration 元素的第一个子元素.",将appSettings放到conf ...

  7. 推荐 10 款最好的 Python IDE

    简述 Python 非常易学,强大的编程语言.Python 包括高效高级的数据结构,提供简单且高效的面向对象编程. Python 的学习过程少不了 IDE 或者代码编辑器,或者集成的开发编辑器(IDE ...

  8. R2的版本由来

    给人一杯水,自己先有一桶水.上课.备课,那么备课中就常有一些稀奇古怪的问题. 学生问:SP2和R2是一样的吗? 老师答:不一样,一个是补丁程序,另一个是服务器操作系统. 学生不解:R2如果是操作系统, ...

  9. InputStream重用技巧(利用ByteArrayOutputStream)

    有时候我们需要对同一个InputStream对象使用多次.比如,客户端从服务器获取数据 ,利用HttpURLConnection的getInputStream()方法获得Stream对象,这时既要把数 ...

  10. 【转】strcpy溢出的攻击示例

    在学习c/c++的时候,就讲到了一些C类型的字符串函数不是安全的,比如strcpy没有检查长度会溢出,推荐使用strncpy,笔试面试也经常问到.同时经常浏览安全相关的新闻,缓冲区溢出攻击是很常见的一 ...