题解 | #切换Tab栏目#

切换Tab栏目

https://www.nowcoder.com/practice/70916dc9292e470eb70ac2a0d3b9a404

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <style>
            ul {
                padding: 0;
                margin: 0;
                list-style: none;
            }

            .options li {
                float: left;
                width: 100px;
                height: 40px;
                line-height: 40px;
                text-align: center;
                border: solid 1px #ddd;
            }

            .items li {
                width: 405px;
                height: 405px;
                display: none;
                border: solid 1px #ddd;
            }
        </style>
    </head>
    <body>
        <ul class='options'>
            <li data-type="0" style='background-color: #25bb9b;'>题库</li>
            <li data-type="1">面试</li>
            <li data-type="2">学习</li>
            <li data-type="3">求职</li>
        </ul>
        <ul class='items'>
            <li style="display: block;">牛客题库,包含编程题、选择题等</li>
            <li>为你的面试提供一站式服务</li>
            <li>校招学习来牛客</li>
            <li>求职中有什么难题,可以联系我们</li>
        </ul>

        <script>
            var options = document.querySelector('.options');
            var optionItems = [].slice.call(document.querySelectorAll('.options li'));
            var items = [].slice.call(document.querySelectorAll('.items li'));
            // 补全代码
            options.onclick = function(e) {
                optionItems.map((item, index) => {
                    if (index == e.target.getAttribute('data-type')) {
                        item.style.backgroundColor = '#25bb9b';
                        items[index].style.display = 'block';
                    } else {
                        item.style.backgroundColor = '#fff';
                        items[index].style.display = 'none';
                    }
                })
            }

        </script>
    </body>
</html>

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <style>
            ul {
                padding: 0;
                margin: 0;
                list-style: none;
            }

            .options li {
                float: left;
                width: 100px;
                height: 40px;
                line-height: 40px;
                text-align: center;
                border: solid 1px #ddd;
            }

            .items li {
                width: 405px;
                height: 405px;
                display: none;
                border: solid 1px #ddd;
            }
        </style>
    </head>
    <body>
        <ul class='options'>
            <li data-type="0" style='background-color: #25bb9b;'>题库</li>
            <li data-type="1">面试</li>
            <li data-type="2">学习</li>
            <li data-type="3">求职</li>
        </ul>
        <ul class='items'>
            <li style="display: block;">牛客题库,包含编程题、选择题等</li>
            <li>为你的面试提供一站式服务</li>
            <li>校招学习来牛客</li>
            <li>求职中有什么难题,可以联系我们</li>
        </ul>

        <script>
            var options = document.querySelector('.options');
            var optionItems = [].slice.call(document.querySelectorAll('.options li'));
            var items = [].slice.call(document.querySelectorAll('.items li'));
            // 补全代码
            options.addEventListener('click',function (e){
                clearStyle(optionItems, 'color');
                clearStyle(items, 'display');
                items[e.target.attributes['data-type'].value].style.display = 'block';
                e.target.style.backgroundColor = '#25bb9b';
            })
            // 清除样式
            function clearStyle(root, type) {
                if (type == 'display') {
                    for (let i = 0; i < root.length; i++) {
                        root[i].style.display = 'none';
                    }
                } else {
                    for (let i = 0; i < root.length; i++) {
                        root[i].style.backgroundColor = '#fff';
                    }
                }
            }
        </script>
    </body>
</html>

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务