JS Button与Div的隐藏与显示操作

2018-04-21  本文已影响0人  蜡笔蜡笔蜡笔笔

目前在学习JS, 然后有强迫症的我弄了一个自己常用的链接的收藏。具体功能就是分类。

每个分类有一个按钮,每个按钮都有对应的div内容,初始是隐藏起来的。然后用过onclick调用js方程,点击之后这个div就会显示。然后再次点击就会消失。


后来我发现如果内容太多,或者用户点开太多并且没有再次点击来隐藏所看过的。就会很冗长。。。


所以想实现一个方法,每次点击一个button,其他的不管显示着,还是隐藏着,都让他们隐藏,这样看起来就很整洁。网上找了一些方法,可能是自己太笨没怎么看懂。

一开始想到枚举,后来发现如果经常要增加内容,那要一个一个function去修改,太麻烦。既然枚举都可以用迭代来实现,所以我想到了一个比较算简单的实现方法。

以4个div为例

HTML代码部分

<button class="button button1" onclick="myFunction1()"></button>
<br>
<div id="myDIV1" style="display: none;">
</div>
<br>

<button class="button button1" onclick="myFunction2()"></button>
<br>
<div id="myDIV2" style="display: none;">
</div>
<br>

<button class="button button1" onclick="myFunction3()"></button>
<br>
<div id="myDIV3" style="display: none;">
</div>
<br>

<button class="button button1" onclick="myFunction4()"></button>
<br>
<div id="myDIV4" style="display: none;">
</div>

JavaScript代码部分

function myFunction1() {
    var div1 = document.getElementById("myDIV1");
    if (div1.style.display === "none") {
        div1.style.display = "block";
    } else {
        div1.style.display = "none";
    }
    var x;
    for (var i = 1; i <= 4; i++) {
        if (i == 1) {
            continue;
        } else {
            x = document.getElementById("myDIV"+i);
            x.style.display = "none";
        }
    }
}
function myFunction2() {
    var div2 = document.getElementById("myDIV2");
    if (div2.style.display === "none") {
        div2.style.display = "block";
    } else {
        div2.style.display = "none";
    }
    var x;
    for (var i = 1; i <= 4; i++) {
        if (i == 2) {
            continue;
        } else {
            x = document.getElementById("myDIV"+i);
            x.style.display = "none";
        }
    }
}
function myFunction3() {
    var div3 = document.getElementById("myDIV3");
    if (div3.style.display === "none") {
        div3.style.display = "block";
    } else {
        div3.style.display = "none";
    }
    var x;
    for (var i = 1; i <= 4; i++) {
        if (i == 3) {
            continue;
        } else {
            x = document.getElementById("myDIV"+i);
            x.style.display = "none";
        }
    }
}
function myFunction4() {
    var div4 = document.getElementById("myDIV4");
    if (div4.style.display === "none") {
        div4.style.display = "block";
    } else {
        div4.style.display = "none";
    }
    var x;
    for (var i = 1; i <= 4; i++) {
        if (i == 4) {
            continue;
        } else {
            x = document.getElementById("myDIV"+i);
            x.style.display = "none";
        }
    }
}

嗯,就这么多。。。
(°◡°♡).:。

上一篇下一篇

猜你喜欢

热点阅读