简体   繁体   English

3个按钮在javascript中显示/隐藏3个div

[英]3 Buttons show/hide 3 div's in javascript

I used one of the codes I found in this website for creating 3 buttons which hided and showed 3 different div's. 我使用了我在本网站上找到的一个代码来创建3个按钮,这些按钮隐藏并显示了3个不同的div。 Code I found was created for 2 div's, so I've tried to edit it to support 3 div's. 我发现的代码是为2个div创建的,所以我尝试编辑它以支持3个div。 At first, it looked like it works, but then I noticed one problem: when you click on button which shows first or second div, everything in that div is clickable and when you click on something inside div, it open third div for no reason, how to fix that? 起初,它看起来像是有效的,但后来我注意到一个问题:当你点击显示第一个或第二个div的按钮时,该div中的所有内容都是可点击的,当你点击div中的某个内容时,它会毫无理由地打开第三个div ,如何解决? Text inside div should not be clickable. div中的文本不应该是可点击的。 Here's link for example of that problem: http://www.llbm.lt/etnografiniai_regionai/mazoji_lietuva.html 以下是该问题的链接: http//www.llbm.lt/etnografiniai_regionai/mazoji_lietuva.html

Here's code: 这是代码:

<div class="trys-mygtukai">
<a "href="#" onclick="return showHide();"><img SRC="/etnografiniai_regionai/img/informacija_button.png"</a>
<a "href="#" onclick="return showHide1();"><img SRC="/etnografiniai_regionai/img/architektura_button.png"</a>
<a "href="#" onclick="return showHide2();"><img SRC="/etnografiniai_regionai/img/kita_button.png"</a>
</div>    

<div id="pirmas" style="display:none;"></div>
<div id="antras" style="display:none;"></div>
<div id="trecias" style="display:none;"></div>

<script type="text/javascript" language="javascript">
function showHide() {
    var ele = document.getElementById("pirmas");
    var ele1 = document.getElementById("antras");
    var ele2 = document.getElementById("trecias");
    ele1.style.display = "none";
    ele2.style.display = "none";
    if(ele.style.display == "block") {
            ele.style.display = "none";             
      }
    else {
        ele.style.display = "block";            
    }
}

function showHide1() {
    var ele = document.getElementById("pirmas");
    var ele1 = document.getElementById("antras");
    var ele2 = document.getElementById("trecias");
    ele.style.display = "none";
    ele2.style.display = "none";
    if(ele1.style.display == "block") {
            ele1.style.display = "none";
      }
    else {
        ele1.style.display = "block";
    }
}

    function showHide2() {
    var ele = document.getElementById("pirmas");
    var ele1 = document.getElementById("antras");
    var ele2 = document.getElementById("trecias");
    ele.style.display = "none";
    ele1.style.display = "none";
    if(ele2.style.display == "block") {
            ele2.style.display = "none";
      }
    else {
        ele2.style.display = "block";
    }
}

You aren't closing the image tags properly 您没有正确关闭图像标签

<a "href="#" onclick="return showHide2();"><img SRC="/etnografiniai_regionai/img/kita_button.png"</a>

This should be: 这应该是:

<a href="#" onclick="return showHide2();"><img SRC="/etnografiniai_regionai/img/kita_button.png"></a>

You made the same mistake with the other 2 images as well, after closing them this behaviour should disappear. 你和其他2张图片也犯了同样的错误,关闭它们后,这种行为应该会消失。

As said before: youre not closing the img tag properly, also this might bug your code: 如前所述:你没有正确关闭img标签,这也可能会破坏你的代码:

"href="#" should be href="#" "href="#"应为href="#"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM