Javascript 显示/隐藏

标签 javascript menu hide show

我不知道是什么错误:

<script>
                function craft()
    {
    document.getElementById(craft).style.visibility="visible";
    document.getElementById(smell).style.visibility="hidden";
    document.getElementById(other).style.visibility="hidden";
    }

function smell()
{
document.getElementById(craft).style.visibility="hidden";
document.getElementById(smell).style.visibility="visible";
document.getElementById(other).style.visibility="hidden";
}

function other()
{
document.getElementById(craft).style.visibility="hidden";
document.getElementById(smell).style.visibility="hidden";
document.getElementById(other).style.visibility="visible";
}
        </script>



    <a onclick ="craft()" href="#">Craft</a><br>
    <a onclick ="smell()" href="#">Smell</a><br>
    <a onclick ="other()" href="#">Other</a><br>
    <div id="craft" style="display: none;" >CraftCraftCraftCraftCraftCraftCraft</div><br>
      <div id="smell" style="display: none;" >SmellSmellSmellSmellSmellSmellSmell</div><br>
        <div id="other" style="display: none;" >OtherOtherOtherOtherOtherOtherOther</div><br>

我想做一些像菜单一样的东西。当我点击 Craft 按钮时,会出现 contain

我找不到错误... 我在浏览器中尝试了代码,但是出现了链接...当我点击它们时,没有任何反应...

最佳答案

使用 ' document.getElementById() 中的 ID .例如:

document.getElementById('craft').style.visibility="visible";

没有它们,JavaScript 将尝试解释 craft作为变量(保存 ID 的值)而不是作为表示实际 ID 的字符串。

编辑

再看一眼,您没有使用一致的属性来隐藏您的 <div>小号:

一开始你用display: none;隐藏它们然后尝试让它们显示为 visibility: visible; .你必须在这里保持一致。要么使用 displayvisibility .两者在实际操作上有所不同。

所以要么调整你的 JavaScript 以使用 display像这样:

document.getElementById('craft').style.display = "block";

或者最初使用visibility: hidden;禁用像这样:

<div id="craft" style="visibility: hidden;" >CraftCraftCraftCraftCraftCraftCraft</div>

Working Example Fiddle

关于Javascript 显示/隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15054790/

相关文章:

javascript - 通过回调强制异步打印顺序

php - Cakephp 生成的 javascript 抛出错误 onclick

html - CSS 子菜单定位适用于 Chrome 和 Safari,但不适用于 IE 和 Firefox

CSS 菜单链接保持突出显示

jquery - 在 AJAX 请求期间显示/隐藏不起作用

javascript - 我如何更改此代码以显示带有下拉菜单而不是复选框的隐藏表单?

javascript - dc.js x 轴勾选意外行为

javascript - ember 测试通过 chrome,而不是 phantomjs

jquery - 隐藏任何包含图像的第一个元素

javascript - 侧边栏菜单切换和推送内容