js 淡入淡出的tab选项卡

Posted mzzone

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 淡入淡出的tab选项卡相关的知识,希望对你有一定的参考价值。

技术图片

代码如下


<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<style>
    body font-family: "Lato", sans-serif;

    /* Style the tab */
    div.tab 
        overflow: hidden;
        border: 1px solid #ccc;
        background-color: #f1f1f1;
    

    /* Style the buttons inside the tab */
    div.tab button 
        background-color: inherit;
        float: left;
        border: none;
        outline: none;
        cursor: pointer;
        padding: 14px 16px;
        transition: 0.3s;
        font-size: 17px;
    

    /* Change background color of buttons on hover */
    div.tab button:hover 
        background-color: #ddd;
    

    /* Create an active/current tablink class */
    div.tab button.active 
        background-color: #ccc;
    

    /* Style the tab content */
    /*.tabcontent */
        /*display: none;*/
        /*padding: 6px 12px;*/
        /*border: 1px solid #ccc;*/
        /*border-top: none;*/
    /**/

    /* Style the tab content */
    .tabcontent 
        display: none;
        padding: 6px 12px;
        -webkit-animation: fadeEffect 1s;
        animation: fadeEffect 1s;
    

    /* Fade in tabs */
    @-webkit-keyframes fadeEffect 
        from opacity: 0;
        to opacity: 1;
    

    @keyframes fadeEffect 
        from opacity: 0;
        to opacity: 1;
    
</style>
<body>
<p>点击各个选项卡查看内容:</p>

<div class="tab">
    <button id="defaultOpen" class="tablinks" onclick="openCity(event, ‘London‘)">London</button>
    <button class="tablinks" onclick="openCity(event, ‘Paris‘)">Paris</button>
    <button class="tablinks" onclick="openCity(event, ‘Tokyo‘)">Tokyo</button>
</div>

<div id="London" class="tabcontent">
    <h3>London</h3>
    <p>London is the capital city of England.</p>
</div>

<div id="Paris" class="tabcontent">
    <h3>Paris</h3>
    <p>Paris is the capital of France.</p>
</div>

<div id="Tokyo" class="tabcontent">
    <h3>Tokyo</h3>
    <p>Tokyo is the capital of Japan.</p>
</div>
</body>
</html>
<script>
    function openCity(evt, cityName) 
        var i, tabcontent, tablinks;

        //所有tab-content移除block效果,tab-links先移除active。
        tabcontent = document.getElementsByClassName("tabcontent");
        for (i = 0; i < tabcontent.length; i++) 
            tabcontent[i].style.display = "none";
        
        tablinks = document.getElementsByClassName("tablinks");
        for (i = 0; i < tablinks.length; i++) 
            tablinks[i].className = tablinks[i].className.replace(" active", "");
        

        //根据字符串把对应的tab-content和tab-links加上效果。
        document.getElementById(cityName).style.display = "block";
        evt.currentTarget.className += " active";

//        tabcontent[i].style.display = "none";
    

    // 触发 id="defaultOpen" click 事件,默认让第I一个tabcontent显示。
    document.getElementById("defaultOpen").click();
    
//    var tabcontent = document.getElementsByClassName("tabcontent");
//    tabcontent[0].style.display = "block";
//
//    var tablinks = document.getElementsByClassName("tablinks");
//    tablinks[0].className += " active";
</script>

 

 

 二.淡入弹出效果

如果要淡入弹出的动画效果。则把上面的tabcontent样式加上animation属性。并加上动画的效果fadeEffect定义。

/* Style the tab content */
.tabcontent
display: none;
padding: 6px 12px;
-webkit-animation: fadeEffect 1s;
animation: fadeEffect 1s;


/* Fade in tabs */
@-webkit-keyframes fadeEffect
from opacity: 0;
to opacity: 1;


@keyframes fadeEffect
from opacity: 0;
to opacity: 1;

以上是关于js 淡入淡出的tab选项卡的主要内容,如果未能解决你的问题,请参考以下文章

在 pyqt 中的选项卡更改上淡入淡出

JQ最简单最易懂的淡入淡出选项卡

tab选项卡代码(原生js)

原生JS画的tab选项卡

js实现简单的滑动门和tab选项卡

Angular JS UI Bootstrap 选项卡 (ui.bootstrap.tabs) 导致页面在选择时滚动/跳转