【问题标题】:onclick: Have to click twice in order for a div to hide/showonclick:必须单击两次才能隐藏/显示 div
【发布时间】:2012-07-29 19:51:17
【问题描述】:

我遇到了一个问题,我必须单击两次才能运行我的 JavaScript 函数。

按钮的 HTML:

<input type="button" id="logintrigger" value="Log In" onClick="hideshow();"/>

JavaScript:

function hideshow() {
    var toggle = document.getElementById('logincontainer');
    toggle.style.display = toggle.style.display == "none" ? "block" : "none";
}

我一直在四处寻找,但没有找到任何有用的东西。

谢谢。

【问题讨论】:

    标签: javascript onclick hide toggle show


    【解决方案1】:

    style="display:block" 显式应用于 logincontainer,然后更改以下行: toggle.style.display = toggle.style.display == “块”? “无”:“阻止”;

    【讨论】:

    • 您好,感谢您的快速答复。我想知道你是否知道当我点击页面时如何让它也隐藏起来?我试过: document.onclick=function() { var toggle = document.getElementById('logincontainer'); toggle.style.display == "none"; }
    • @user1512677 :所以您想要的是当您在登录容器外部单击时,它应该隐藏,是吗?
    • @user1512677 :是的,我明白了...在 logincontainer 标记内,调用此函数 onmouseover。我的意思是,如果您有一个带有 id logincontainer 的文本框(假设),那么 跨度>
    • 好吧,我想要的是一个下拉登录框,但是,当在登录框外单击文档的某个区域时,我试图隐藏登录框。
    • @user1512677 是的,按照我在上面的评论中告诉你的,这就是解决方案
    【解决方案2】:

    显示属性的初始状态更可能为空。这就是为什么直到你明确地改变它——这个 js 函数得到“”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-03
      • 2020-06-29
      • 1970-01-01
      • 1970-01-01
      • 2016-11-17
      • 2012-03-06
      相关资源
      最近更新 更多