Jquery&JS简单选项卡

结果,如图

为了明显,用绿色+红色

第一步:静态布局

先写html代码和css样式

要点一:  ul li都为块级元素,可以用height,但是里面字体不居中,我们用line-height,即达到居中,又设定行高。

要点二:ul的高度与要显示的选项li的高度相等,因为li要把ul的底边掩盖掉。其他不显示的li的行高设置ul的高度-1,留出1个像素的底边显示。

    <style type="text/css">
    *{margin:0; padding:0; font:12px/1.5 arial;}
    li{list-style:none;}
    .wrap{width:800px; margin:20px auto;}
    .hide{display:none;}
    #tab-title{height:25px;border-bottom:1px solid #ccc; background:red;}/*#ccc*/
    #tab-title li{line-height:24px; float:left; width:80px; margin:0 4px; text-align:center; border:1px solid #ccc; border-bottom:none; background:green; cursor:pointer}/*#f5f5f5; */
    #tab-title .active{ line-height:25px;background:#fff;}
    #tab-content{border:1px solid #ccc; border-top:none; padding:20px;}
    </style>

<body>
    <div class="wrap">
        <ul id="tab-title">
            <li class="active">选项1</li>
            <li>选项2</li>
            <li>选项3</li>
            <li>选项4</li>
        </ul>
        <div id="tab-content">
            <div>
                内容1</div>
            <div class="hide">
                内容2</div>
            <div class="hide">
                内容3</div>
            <div class="hide">
                内容4</div>
        </div>
    </div>
</body>

 第二步:切换

要点一,页面加载时,给选项卡加一个额外的“索引”属性并赋值,以做选项卡和内容的对应。方法是.index=值。

要点二,点击选项时,利用jQuery链式编程,选项:去掉所有li的的active类样式,再为点击的li加上active类样式。内容:所有div加上hide类样式,再为点击的div去掉hide类样式。

    <script src="Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            var tabtitleEle, tabContentEle;
            tabtitleEle = $("#tab-title li");
            tabContentEle = $("#tab-content div");
            for (var i = 0; i < tabtitleEle.length; i++) {
                tabtitleEle[i].index = i;//加上一个属性
                tabtitleEle.eq(i).click(function () {
                    tabtitleEle.removeClass("active").eq(this.index).addClass("active");
                  //alert(this.index);
                    tabContentEle.addClass("hide").eq(this.index).removeClass("hide");
                })
            }
        })

    </script>

 纯js的写法

        window.onload = function () {
            var tab_t = document.getElementById("tab-title");
            var tab_t_li = tab_t.getElementsByTagName("li");
            var tab_c = document.getElementById("tab-content");
            var tab_c_li = tab_c.getElementsByTagName("div");
            var len = tab_t_li.length;
            var i = 0;

            for (i = 0; i < len; i++) {
                tab_t_li[i].index = i;
                tab_t_li[i].onclick = function () {
                    for (i = 0; i < len; i++) {
                        tab_t_li[i].className = ‘‘;
                        tab_c_li[i].className = ‘hide‘;
                    }
                    tab_t_li[this.index].className = ‘active‘;
                    tab_c_li[this.index].className = ‘‘;
                }
            }
        }

 全部代码

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style type="text/css">
    *{margin:0; padding:0; font:12px/1.5 arial;}
    li{list-style:none;}
    .wrap{width:800px; margin:20px auto;}
    .hide{display:none;}
    #tab-title{height:25px;border-bottom:1px solid #ccc; background:red;}/*#ccc*/
    #tab-title li{line-height:24px; float:left; width:80px; margin:0 4px; text-align:center; border:1px solid #ccc; border-bottom:none; background:green; cursor:pointer}/*#f5f5f5; */
    #tab-title .active{ line-height:25px;background:#fff;}
    #tab-content{border:1px solid #ccc; border-top:none; padding:20px;}
    </style>
    <script src="Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            var tabtitleEle, tabContentEle;
            tabtitleEle = $("#tab-title li");
            tabContentEle = $("#tab-content div");
            for (var i = 0; i < tabtitleEle.length; i++) {
                tabtitleEle[i].index = i;//加上一个属性
                tabtitleEle.eq(i).click(function () {
                    tabtitleEle.removeClass("active").eq(this.index).addClass("active");
                  //alert(this.index);
                    tabContentEle.addClass("hide").eq(this.index).removeClass("hide");
                })
            }
        })

    </script>
    <!--<script>
        window.onload = function () {
            var tab_t = document.getElementById("tab-title");
            var tab_t_li = tab_t.getElementsByTagName("li");
            var tab_c = document.getElementById("tab-content");
            var tab_c_li = tab_c.getElementsByTagName("div");
            var len = tab_t_li.length;
            var i = 0;

            for (i = 0; i < len; i++) {
                tab_t_li[i].index = i;
                tab_t_li[i].onclick = function () {
                    for (i = 0; i < len; i++) {
                        tab_t_li[i].className = ‘‘;
                        tab_c_li[i].className = ‘hide‘;
                    }
                    tab_t_li[this.index].className = ‘active‘;
                    tab_c_li[this.index].className = ‘‘;
                }
            }
        }
    </script>-->
</head>
<body>
    <div class="wrap">
        <ul id="tab-title">
            <li class="active">选项1</li>
            <li>选项2</li>
            <li>选项3</li>
            <li>选项4</li>
        </ul>
        <div id="tab-content">
            <div>
                内容1</div>
            <div class="hide">
                内容2</div>
            <div class="hide">
                内容3</div>
            <div class="hide">
                内容4</div>
        </div>
    </div>
</body>
</html>

  

 

 

时间: 2024-10-13 02:32:24

Jquery&JS简单选项卡的相关文章

Jquery实现简单选项卡

<html> <head> <meta charset="UTF-8"> <title>选项卡</title> <script type="text/javascript" src="jquery-1.10.2.min.js"></script> </head> <style> .tab{width:400px;height:400px;b

jQuery实例-简单选项卡-【一些常见方法(2)-练习】

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <script src="../../jq-practice/jq/jquery-2.2.1.min.js"></script> <script> $(function(){ $('.

js简单选项卡

<!DOCTYPE html><html>    <head>        <meta http-equiv="Content-type" content="text/html" charset="utf-8">        <title>我的博客</title>        <script type="text/javascript" src

js和jquery实现简单的选项卡

选项卡切换在做网页的时候经常会用到,以往都是用JQ来实现,代码简单易懂,今天用原生的js实现了一下,二者还是有很大不同的,可以对比一下代码来研究一下. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="js/jquery.

jquery.cycle.js简单用法实例

样式: a{text-decoration: none;} *{margin:0; padding:0;} /*容器设置*/ .player { width:216px; height:248px; background:url(http://i2.itc.cn/20120117/2cc0_da8f6c82_c8da_693d_7714_9533a013006a_3.jpg) no-repeat; background-color:#ede1d1; position:relative; padd

js简单显示和隐藏div,触发超链接,动态更改button值,setInterval()简单使用,jquery easyui弹出框简单使用 .

js简单显示和隐藏div 01.<!DOCTYPE html> 02.<html> 03.<head> 04.<meta charset="UTF-8"> 05.<title>Insert title here</title> 06.<script type="text/javascript"> 07. window.onload=function(){ 08. document.g

jquery实现的选项卡的嵌套代码实例

jquery实现的选项卡的嵌套代码实例:关于选项卡功能大家一定都不会陌生,无非就是鼠标点击或者悬浮能够切换相关的内容.通常情况下,大家见到的选项卡都是没有嵌套功能的,也就是说就是完成了一层切换效果,本章节分享一段代码实例,实现了选项卡的嵌套功能,也就是选项卡中嵌套有选项卡功能,也就能够容纳更多的内容.代码如下: <!DOCTYPE html><html> <head> <meta charset=" utf-8"> <meta na

如何利用jQuery进行简单表单验证

如何利用jQuery进行简单表单验证:利用jQuery可以进行表单验证,当然有比较复杂的表单验证,这里就不介绍了,下面就简单介绍一下如何使用jQuery进行简单的表单验证,然后大家可以通过改造进行基本的表达验证了.先看一段代码实例: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http

Javascript对象、Jquery扩展简单应用

Javascript对象,表现方式一: 1 person = new Object(); 2 person.firstname = "An"; 3 person.lastname = "na"; 4 person.age = 12; 5 alert(person.age); Javascript对象,表现方式二: 1 function person(firstname, lastname, age) { 2 this.firstname = firstname; 3