0

I'm using this javascript to display text when clicking a button in a website:

<script type="text/javascript">
        function toggleMe(a)
        {
        var e=document.getElementById(a);
        if(!e)return true;
        if(e.style.display=="none")
            {e.style.display="block"}
        else
            {e.style.display="none"}
        return true;
        }
    </script>

and i'm calling the script with <A Onclick="return toggleMe('content')" >[Website Content]</A>

The problem is that i have three "buttons" (help, gpgkey, content) and i would like that only one text be displayed at the time. I've never done java before and Im not even sure of totally understanding the first code.

This is one of my attempts

<script type="text/javascript">
    function toggleMe(a)
    {
    var e=document.getElementById(a);
    if(!e)return true;

    if(e==document.getElementById("content")
        {
        var f=document.getElementById("help");
        var g=document.getElementById("gpgkey");
        }

    if(e==document.getElementById("help")
        {
        var f=document.getElementById("content");
        var g=document.getElementById("gpgkey");
        }

    if(e==document.getElementById("gpgkey")
        {
        var f=document.getElementById("content");
        var g=document.getElementById("help");
        }

    if(e.style.display=="none")
        {
        e.style.display="block"

        if(f.style.display!="none")
            {f.style.display="none"}

        if(g.style.display!="none")
            {g.style.display="none"}            
        }
    else
        {e.style.display="none"}

    return true;
    }
2
  • I have a question though. You want to click one button and hide the other two? Commented Aug 5, 2014 at 2:08
  • @int21h, lets say that you click "content", the original script will display the "content text". Then if you click "help" it will display both texts. I just want to have one text at the time. Commented Aug 5, 2014 at 2:13

1 Answer 1

1
function toggleMe(a) {
    var eContent = document.getElementById("content"),
        eHelp    = document.getElementById("help"),
        eGPGKey  = document.getElementById("gpgkey");
    if(!eContent || !eHelp || !eGPGKey)
        return;

    if (a === "content" && eContent.style.display === "none") {
        eContent.style.display = "block";
        eHelp.style.display    = "none";
        eGPGKey.style.display  = "none";
    }
    else if (a === "help" && eHelp.style.display === "none") {
        eContent.style.display = "none";
        eHelp.style.display    = "block";
        eGPGKey.style.display  = "none";
    }
    else if (a === "gpgkey" && eGPGKey.style.display === "none") {
        eContent.style.display = "none";
        eHelp.style.display    = "none";
        eGPGKey.style.display  = "block";
    }
    else if (a === "content") {
        eContent.style.display = "none";
    }
    else if (a === "help") {
        eHelp.style.display = "none";
    }
    else if (a === "gpgkey") {
        eGPGKey.style.display = "none";
    }
}

http://jsfiddle.net/Z68p7/

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.