切换可见性(来自2个DIV;如果1个DIV可见,则另一个不应该是,反之亦然)

时间:2014-06-07 18:59:42

标签: javascript toggle

我有一个切换菜单。 2个div的2个超链接。

我在网上发现了以下代码。它按预期工作。因为我只想看到我的div中的一个,所以我尝试编辑代码。我不懂Javascript。我试着写它类似于PHP。

暂时代码不起作用。 (它没有任何内容)

原始代码

<script type="text/javascript">
    function toggle_visibility(id) {
    var e = document.getElementById(id);
    if(e.style.display == 'none') 
    e.style.display = 'block'; 
    else e.style.display = 'none';}
</script>

经过编辑的非工作代码

默认情况下,两个DIV都被隐藏。

我要求同时只能看到1个。&#39;

注意: 2个div的2个ID信息是:

  1. 搜索
  2. 菜单
  3. 我知道下面的代码即使它没问题也不够,但你能告诉我我现在在哪里错了吗?

    <script type="text/javascript">
        function toggle_visibility(id) 
        {
            var e = document.getElementById(id);
            if (e == 'menu' && e.style.display == 'none') 
            {
                e.style.display = 'block';
                document.getElementById('search').style.display = 'none'; 
            }
            else if (e == 'search' && e.style.display == 'none') 
            {
                e.style.display = 'block';
                document.getElementById('menu').style.display = 'none'; 
            }
        }
    </script>
    

1 个答案:

答案 0 :(得分:1)

在第4行和第10行似乎是id,而不是e

 function toggle_visibility(id) 
    {
        var e = document.getElementById(id);
        if (id == 'menu' && e.style.display == 'none') 
            ^^
        {
            e.style.display = 'block';
            document.getElementById('search').style.display = 'none'; 
        }
        else if (id == 'search' && e.style.display == 'none') 
                 ^^
        {
            e.style.display = 'block';
            document.getElementById('menu').style.display = 'none'; 
        }
    }