码迷,mamicode.com
首页 > Web开发 > 详细

JS——tab函数封装

时间:2017-11-22 14:16:28      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:添加   标签   hidden   版本   char   auto   切换   var   type   

1、为li标签添加index属性,这个属性正好就是span标签数组的index值

2、函数封装适合页面有多个tab切换,需要注意的在获取的li标签和span标签对象时,必须将对应div对象作为参数传入

li标签添加index属性

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        * {
            padding: 0;
            margin: 0;
        }

        .box1 {
            width: 500px;
            height: 400px;
            border: 1px solid #b6ff00;
            overflow: hidden;
            margin: 100px auto;
        }

        ul {
            width: 510px;
            height: 40px;
            list-style: none;
        }

        li {
            float: left;
            width: 101px;
            height: 40px;
            text-align: center;
            font: 400 15px/40px "simsun";
            background-color: beige;
            cursor: pointer;
        }

        span {
            display: none;
            width: 500px;
            height: 360px;
            background-color: #ffd800;
            text-align: center;
            font: 700 150px/360px "simsun";
        }

        .current {
            background-color: #ffd800;
        }

        .show {
            display: block;
        }
    </style>
</head>
<body>
    <div class="box1">
        <ul>
            <li>鞋子</li>
            <li>上衣</li>
            <li>下装</li>
            <li>棉衣</li>
            <li>夏装</li>
        </ul>
        <span>鞋子</span>
        <span>上衣</span>
        <span>下装</span>
        <span>棉衣</span>
        <span>夏装</span>
    </div>
    <script>
        var lis = document.getElementsByTagName("li");
        var sps = document.getElementsByTagName("span");
        for (var i = 0; i < lis.length; i++) {
            lis[i].index = i;
            lis[i].onmouseover = function () {
                for (var j = 0; j < lis.length; j++) {
                    lis[j].className = "";
                    sps[j].className = "";
                }
                this.className = "current";
                sps[this.index].className = "show";
            }
        }
    </script>
</body>
</html>

函数封装版本

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        * {
            padding: 0;
            margin: 0;
        }

        .box {
            width: 500px;
            height: 400px;
            border: 1px solid #b6ff00;
            overflow: hidden;
            margin: 100px auto;
        }

        ul {
            width: 510px;
            height: 40px;
            list-style: none;
        }

        li {
            float: left;
            width: 101px;
            height: 40px;
            text-align: center;
            font: 400 15px/40px "simsun";
            background-color: beige;
            cursor: pointer;
        }

        span {
            display: none;
            width: 500px;
            height: 360px;
            background-color: #ffd800;
            text-align: center;
            font: 700 150px/360px "simsun";
        }

        .current {
            background-color: #ffd800;
        }

        .show {
            display: block;
        }
    </style>
</head>
<body>
    <div class="box">
        <ul>
            <li>鞋子</li>
            <li>上衣</li>
            <li>下装</li>
            <li>棉衣</li>
            <li>夏装</li>
        </ul>
        <span>鞋子</span>
        <span>上衣</span>
        <span>下装</span>
        <span>棉衣</span>
        <span>夏装</span>
    </div>
    <div class="box">
        <ul>
            <li>鞋子</li>
            <li>上衣</li>
            <li>下装</li>
            <li>棉衣</li>
            <li>夏装</li>
        </ul>
        <span>鞋子</span>
        <span>上衣</span>
        <span>下装</span>
        <span>棉衣</span>
        <span>夏装</span>
    </div>
    <div class="box">
        <ul>
            <li>鞋子</li>
            <li>上衣</li>
            <li>下装</li>
            <li>棉衣</li>
            <li>夏装</li>
        </ul>
        <span>鞋子</span>
        <span>上衣</span>
        <span>下装</span>
        <span>棉衣</span>
        <span>夏装</span>
    </div>
    <script>
        var boxs = document.getElementsByClassName("box");
        for (var i = 0; i < boxs.length; i++) {
            tabSwitch(boxs[i]);
        }
        function tabSwitch(ele) {
            var lis = ele.getElementsByTagName("li");
            var sps = ele.getElementsByTagName("span");
            for (var i = 0; i < lis.length; i++) {
                lis[i].index = i;
                lis[i].onmouseover = function () {
                    for (var j = 0; j < lis.length; j++) {
                        lis[j].className = "";
                        sps[j].className = "";
                    }
                    this.className = "current";
                    sps[this.index].className = "show";
                }
            }
        }       
    </script>
</body>
</html>

技术分享图片

JS——tab函数封装

标签:添加   标签   hidden   版本   char   auto   切换   var   type   

原文地址:http://www.cnblogs.com/wuqiuxue/p/7878680.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!