导航菜单
  • 首页
  • 首页>万博manbext3.0首页登录集>JavaScript万博manbext3.0首页登录集

    js小万博manbext3.0首页登录:函数传参完成多个选项卡的制作

    js上课小万博manbext3.0首页登录,多个选项卡,有的是鼠标经过,有的是鼠标点击。利用函数传参实现代码复用。

    多个选项卡.gif

    具体效果点击查看

    1、html代码

    <div class="container tab0">
    <div class="title">
    <ul>
    <li><a href=""#">收藏最多</a></li>"
    <li><a href=""#">热门话题</a></li>"
    <li><a href=""#">猜你喜欢</a></li>"
    </ul>
    </div>
    <div class="content">
    <ul>
    <li>
    <span>1</span><a href=""#">我花了3天时间,为你整理了这份超全面的 B 站免费学设计指南</a>"
    </li>
    <li><span>2</span><a href=""#">为什么你的 PS 越用越快,但设计水平一直没有提升?</a></li>"
    <li><span>3</span><a href=""#">比阿里犸良还强大!Lottie 动效设计完全指南(基础篇)</a></li>"
    <li><span>4</span><a href=""#">标题文字如何处理更吸引人?来看设计高手的实用技巧!</a></li>"
    <li><span>5</span><a href=""#">为什么你的界面看着不舒服?腾讯设计师从这 3 个维度优化设计!</a></li>"
    <li><span>6</span><a href=""#">平面高手课堂!用一篇干货帮你彻底全面掌握「投影」知识点!</a></li>"
    <li><span>7</span><a href=""#">我花了3天时间,整理了这15个「特别好」的免费可商用图库!</a></li>"
    <li><span>8</span><a href=""#">提高求职成功率?这份大厂设计师出品的面试指南刚好用得上!</a></li>"
    </ul>
    <ul>
    ...
    </ul>
    <ul>
    ...
    </ul>
    </div>
    </div>
    <div class="container tab1">
    <div class="title">
    <ul>
    <li><a href=""#">收藏最多</a></li>"
    <li><a href=""#">热门话题</a></li>"
    </ul>
    </div>
    <div class="content">
    <ul>
    <li>
    <span>1</span><a href=""#">我花了3天时间,为你整理了这份超全面的 B 站免费学设计指南</a>"
    </li>
    <li><span>2</span><a href=""#">为什么你的 PS 越用越快,但设计水平一直没有提升?</a></li>"
    <li><span>3</span><a href=""#">比阿里犸良还强大!Lottie 动效设计完全指南(基础篇)</a></li>"
    <li><span>4</span><a href=""#">标题文字如何处理更吸引人?来看设计高手的实用技巧!</a></li>"
    <li><span>5</span><a href=""#">为什么你的界面看着不舒服?腾讯设计师从这 3 个维度优化设计!</a></li>"
    <li><span>6</span><a href=""#">平面高手课堂!用一篇干货帮你彻底全面掌握「投影」知识点!</a></li>"
    <li><span>7</span><a href=""#">我花了3天时间,整理了这15个「特别好」的免费可商用图库!</a></li>"
    <li><span>8</span><a href=""#">提高求职成功率?这份大厂设计师出品的面试指南刚好用得上!</a></li>"
    </ul>
    <ul>
    ...
    </ul>
    
    </div>
    </div>

    2、css代码

    * {
    box-sizing: border-box;
    }
    
    body,
    ul,
    li {
    margin: 0;
    padding: 0;
    
    }
    
    li {
    list-style: none;
    }
    
    a {
    color: #8a8a8a;
    text-decoration: none;
    }
    
    a:hover {
    color: #333;
    }
    
    .hidden {
    display: none;
    }
    
    .container {
    width: 270px;
    margin: 20px;
    float: left;
    }
    
    .title {
    margin-bottom: 12px;
    }
    
    .title ul {
    display: flex;
    }
    
    .title li {
    flex-basis: 33.33%;
    background-color: #f2f2f2;
    padding: 10px 13px;
    font-size: 0.875rem;
    text-align: center;
    }
    
    .title li.active {
    background-color: #fe4800;
    }
    
    .title li.active a {
    color: #fff;
    }
    
    .content li {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    font-size: 0.875rem;
    }
    
    .content span {
    background-color: #c8c7c7;
    border-radius: 3px;
    color: #fff;
    font-size: 0.75rem;
    padding: 1px 6px;
    text-align: center;
    margin-right: 5px;
    }
    
    .content a {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    }
    
    .content li:nth-child(-n+3) span {
    background-color: #fe4800;
    color: #fff;
    }
    
    .content i {
    font-style: normal;
    font-size: 0.75rem;
    color: #d3d3d3;
    padding-left: 5px;
    }

    3、js代码

    <script>
    var oTab = document.querySelectorAll("[class*=tab]");
    // console.log(oTab)
    tab(oTab[0],"onclick");
    tab(oTab[1],"onmouseover");
    
    
    function tab(obj,evt) {
    var oLi = obj.querySelectorAll(".title li");
    var oUl = obj.querySelectorAll(".content ul");
    // console.log(oUl);
    
    //初始化
    var num = 0;
    var oldLi = null;
    oLi[num].classList.add("active");
    oldLi = oLi[num];
    oUl.forEach(function (item, index) {
    if (!(num == index)) {
    item.classList.add("hidden");
    // console.log(index);
    }
    })
    
    oLi.forEach(function (item, index) {
    item[evt] = function () {
    /*  oLi.forEach(function (item) {
                             item.classList.remove("active");
                         }) */
    oldLi.classList.remove("active");
    this.classList.add("active");
    oldLi = this;
    //  先把所有ul隐藏
    oUl.forEach(function (item) {
    item.classList.add("hidden");
    })
    // 再把鼠标经过的那个li对应的ul显示
    oUl[index].classList.remove("hidden");
    
    }
    })
    }
    </script>

    点赞


    2
    保存到:

    相关文章

    发表评论:

    ◎请发表你卖萌撒娇或一针见血的评论,严禁小广告。

    Top